:root{--ink: #171a2d;--muted: #74788c;--paper: #fff;--canvas: #f5f4f8;--purple: #7152d5;--purple-dark: #573aaf;--lavender: #eee9ff;--coral: #f56e78;--cyan: #4bcac6;--yellow: #f4c85f;--green: #67cf98;--line: #e7e5ed;--shadow: 0 20px 55px rgba(35, 29, 70, .11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(circle at 4% 15%,rgba(75,202,198,.1),transparent 25%),radial-gradient(circle at 95% 8%,rgba(113,82,213,.13),transparent 27%),var(--canvas);font-family:DM Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(113,82,213,.25);outline-offset:2px}.portal-shell{min-height:100vh;display:flex;flex-direction:column}.portal-header{position:relative;z-index:20;display:flex;width:min(1180px,calc(100% - 40px));min-height:90px;align-items:center;justify-content:space-between;gap:20px;margin:0 auto}.portal-brand{display:flex;align-items:center;gap:11px;padding:0;color:var(--ink);border:0;background:transparent;text-align:left}.portal-brand-flower{display:grid;width:44px;height:44px;place-items:center;color:#fff;border-radius:15px;background:conic-gradient(from 20deg,var(--coral),var(--yellow),var(--cyan),var(--purple),var(--coral));font-size:22px;box-shadow:0 8px 20px #5238a038}.portal-brand strong,.portal-brand small{display:block;line-height:1}.portal-brand strong{font-family:Fredoka,sans-serif;font-size:21px}.portal-brand small{margin-top:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}#portal-nav{display:flex;align-items:center;gap:9px}.language-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#ffffffd1}.language-switch button{min-width:31px;height:30px;padding:0 7px;color:var(--muted);border:0;border-radius:7px;background:transparent;font-size:9px;font-weight:900;letter-spacing:.5px}.language-switch button[aria-pressed=true]{color:#fff;background:var(--purple);box-shadow:0 4px 10px #7152d538}.nav-link{min-height:40px;padding:0 14px;color:#666a7d;border:0;border-radius:10px;background:transparent;font-size:12px;font-weight:700}.nav-link:hover{color:var(--purple);background:#ffffffb8}.nav-primary,.portal-primary,.portal-secondary,.portal-ghost,.portal-danger{min-height:44px;padding:0 18px;border-radius:11px;font-weight:800;transition:.18s ease}.nav-primary,.portal-primary{color:#fff;border:1px solid var(--purple);background:linear-gradient(135deg,#795ce0,#6242c2);box-shadow:0 9px 21px #6040be38}.nav-primary:hover,.portal-primary:hover{transform:translateY(-1px);box-shadow:0 13px 26px #6040be47}.portal-secondary{color:var(--purple-dark);border:1px solid #dcd3fa;background:#f0ecff}.portal-ghost{color:var(--ink);border:1px solid var(--line);background:#fff}.portal-danger{color:#c94755;border:1px solid #f1ccd1;background:#fff2f3}.portal-primary:disabled,.portal-secondary:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.wide{width:100%}#portal-app{flex:1;width:min(1180px,calc(100% - 40px));margin:0 auto}#portal-app:focus{outline:none}.portal-footer{display:flex;width:min(1180px,calc(100% - 40px));min-height:78px;align-items:center;justify-content:space-between;gap:20px;margin:35px auto 0;color:#9699a8;border-top:1px solid var(--line);font-size:10px;font-weight:700}.portal-loading{display:grid;min-height:500px;place-content:center;justify-items:center;color:var(--muted);font-size:12px}.portal-loading span{width:34px;height:34px;border:4px solid #ded8f4;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero{position:relative;display:grid;min-height:620px;overflow:hidden;grid-template-columns:1.08fr .92fr;align-items:center;padding:65px 72px;color:#fff;border-radius:30px;background:radial-gradient(circle at 87% 15%,rgba(255,255,255,.18),transparent 22%),linear-gradient(135deg,#6744c5,#7c5ce2 52%,#9880ee);box-shadow:0 28px 75px #4b309d38}.hero:before,.hero:after{position:absolute;content:"";border:2px solid rgba(255,255,255,.12);border-radius:50%}.hero:before{width:360px;height:360px;right:-130px;top:-160px}.hero:after{width:230px;height:230px;right:-40px;top:-95px}.hero-copy{position:relative;z-index:2}.hero-kicker{display:inline-flex;min-height:27px;align-items:center;padding:0 11px;border-radius:999px;background:#ffffff24;font-size:9px;font-weight:800;letter-spacing:1.4px}.hero h1{max-width:650px;margin:20px 0 15px;font-family:Fredoka,sans-serif;font-size:clamp(46px,6vw,74px);line-height:.98;letter-spacing:-2px}.hero p{max-width:590px;margin:0;color:#ffffffd1;font-size:15px;line-height:1.7}.hero-actions{display:flex;gap:11px;margin-top:29px}.hero-actions .portal-secondary{min-height:48px;color:var(--purple-dark);border-color:#fff;background:#fff}.hero-actions .portal-ghost{min-height:48px;color:#fff;border-color:#ffffff47;background:#ffffff14}.hero-art{position:relative;height:420px}.hero-card{position:absolute;display:grid;width:180px;height:255px;place-items:center;border:6px solid rgba(255,255,255,.88);border-radius:25px;font-family:Fredoka,sans-serif;font-size:46px;box-shadow:0 28px 43px #21134e47}.hero-card:nth-child(1){left:3%;top:86px;color:#40346c;background:var(--yellow);transform:rotate(-13deg)}.hero-card:nth-child(2){left:29%;top:30px;z-index:2;background:var(--coral);transform:rotate(2deg)}.hero-card:nth-child(3){left:57%;top:92px;color:#245761;background:var(--cyan);transform:rotate(14deg)}.hero-spark{position:absolute;color:#fff;font-size:28px}.hero-spark.a{left:1%;top:30px}.hero-spark.b{right:3%;top:50px}.hero-spark.c{right:3%;bottom:35px;color:var(--yellow)}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.feature{display:flex;min-height:120px;align-items:center;gap:16px;padding:22px;border:1px solid rgba(30,30,48,.06);border-radius:18px;background:#fff;box-shadow:0 8px 27px #1e1e300d}.feature-icon{display:grid;width:51px;height:51px;flex:0 0 auto;place-items:center;border-radius:15px;font-size:21px}.feature:nth-child(1) .feature-icon{color:var(--purple);background:var(--lavender)}.feature:nth-child(2) .feature-icon{color:#168e8a;background:#e1f8f6}.feature:nth-child(3) .feature-icon{color:#c04d59;background:#ffe9eb}.feature strong,.feature small{display:block}.feature strong{font-family:Fredoka,sans-serif;font-size:17px}.feature small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}.rules-hero{position:relative;display:grid;min-height:390px;overflow:hidden;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:55px;padding:58px 66px;color:#fff;border-radius:28px;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.16),transparent 25%),linear-gradient(135deg,#24233e,#6042b7 65%,#8064dc);box-shadow:var(--shadow)}.rules-hero:after{position:absolute;width:270px;height:270px;right:-95px;bottom:-145px;content:"";border:45px solid rgba(255,255,255,.06);border-radius:50%}.rules-hero>div:first-child{position:relative;z-index:1}.rules-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#ffffff1f;font-size:9px;font-weight:900;letter-spacing:1.4px}.rules-hero h1{max-width:650px;margin:15px 0 9px;font-family:Fredoka,sans-serif;font-size:52px;line-height:1}.rules-hero p{max-width:590px;margin:0;color:#ffffffc7;font-size:14px;line-height:1.65}.rules-hero-actions{display:flex;gap:10px;margin-top:25px}.rules-hero .portal-ghost{color:#fff;border-color:#ffffff3d;background:#ffffff14}.rules-goal-card{position:relative;z-index:1;display:grid;min-height:235px;place-content:center;justify-items:center;padding:28px;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:#ffffff1a;box-shadow:0 22px 50px #1410303d;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:rotate(2deg)}.rules-goal-card>span{display:grid;width:65px;height:65px;place-items:center;color:#403463;border-radius:20px;background:var(--yellow);font-size:28px}.rules-goal-card small{margin-top:18px;color:#d8d5ea;font-size:8px;font-weight:900;letter-spacing:1.6px}.rules-goal-card strong{max-width:220px;margin-top:7px;font-family:Fredoka,sans-serif;font-size:21px;line-height:1.2}.rules-quick-start{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 24px}.rules-quick-start article{display:flex;min-height:88px;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}.rules-quick-start article>span{display:grid;width:35px;height:35px;flex:0 0 auto;place-items:center;color:#fff;border-radius:11px;background:var(--purple);font-family:Fredoka,sans-serif}.rules-quick-start strong,.rules-quick-start small{display:block}.rules-quick-start strong{font-size:11px}.rules-quick-start small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.rules-layout{display:grid;grid-template-columns:225px minmax(0,1fr);align-items:start;gap:20px}.rules-index-card{position:sticky;top:16px;display:grid;gap:5px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 25px #1e1e300a}.rules-index-card>span{margin-bottom:7px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:1.4px}.rules-index-card a{padding:9px 10px;color:#55596c;border-radius:9px;font-size:10px;font-weight:700;text-decoration:none}.rules-index-card a:hover{color:var(--purple);background:var(--lavender)}.rules-content{display:grid;gap:15px}.rules-section{padding:34px;border:1px solid rgba(30,30,48,.06);border-radius:20px;background:#fff;box-shadow:0 8px 27px #1e1e300b;scroll-margin-top:20px}.rules-section>p,.rules-section li{color:#626678;font-size:11px;line-height:1.75}.rules-section>p{margin:17px 0 0}.rules-section>h3{margin:22px 0 4px;font-family:Fredoka,sans-serif;font-size:16px}.rules-section ul{margin:6px 0 0;padding-left:19px}.rules-section-heading{display:flex;align-items:center;gap:14px}.rules-section-heading>span{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;color:var(--purple);border-radius:14px;background:var(--lavender);font-family:Fredoka,sans-serif;font-size:15px}.rules-section-heading small{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:1.4px}.rules-section-heading h2{margin:3px 0 0;font-family:Fredoka,sans-serif;font-size:26px}.rules-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:19px}.rules-detail-grid article{padding:14px;border-radius:12px;background:#f7f6fa}.rules-detail-grid strong,.rules-detail-grid small{display:block}.rules-detail-grid strong{font-size:10px}.rules-detail-grid small{margin-top:3px;color:var(--muted);font-size:8px}.rules-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:20px}.rules-family-grid article{min-height:190px;padding:20px;border-radius:16px}.rules-family-grid article>span{display:grid;width:39px;height:39px;place-items:center;border-radius:12px;background:#ffffffb8;font-weight:900}.rules-family-grid h3{margin:16px 0 5px;font-family:Fredoka,sans-serif;font-size:19px}.rules-family-grid p{margin:0;color:#5e6070;font-size:9px;line-height:1.65}.rules-family-grid .toon{background:#eee9ff}.rules-family-grid .twisted{background:#ffe7e9}.rules-family-grid .support{background:#e6faf4}.rules-family-grid .lethal{color:#fff;background:#302d49}.rules-family-grid .lethal p{color:#c9c6d8}.rule-callout{margin-top:20px;padding:17px 19px;color:#705312;border:1px solid #f0dc9d;border-radius:13px;background:#fff8df}.rule-callout strong{font-family:Fredoka,sans-serif}.rule-callout p{margin:4px 0 0;font-size:9px;line-height:1.5}.combat-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:20px 0 0;padding:0;list-style:none}.combat-steps li{padding:15px;border:1px solid var(--line);border-radius:13px;background:#faf9fc}.combat-steps li>span{display:grid;width:28px;height:28px;place-items:center;color:#fff;border-radius:9px;background:var(--coral);font-family:Fredoka,sans-serif}.combat-steps p{margin:10px 0 0;color:#626678;font-size:9px;line-height:1.55}.rules-system-list{display:grid;gap:10px;margin-top:20px}.rules-system-list article{display:flex;gap:15px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#faf9fc}.rules-system-list article>span{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;color:var(--purple);border-radius:12px;background:var(--lavender);font-size:18px}.rules-system-list h3{margin:0;font-family:Fredoka,sans-serif;font-size:16px}.rules-system-list p{margin:5px 0 0;color:#626678;font-size:9px;line-height:1.65}.rules-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.rules-final-grid article{padding:18px;border-radius:14px;background:#f1edff}.rules-final-grid article:nth-child(2){background:#ffecee}.rules-final-grid strong{font-family:Fredoka,sans-serif;font-size:16px}.rules-final-grid p{margin:6px 0 0;color:#626678;font-size:9px;line-height:1.6}.rules-footer-cta{padding:38px;color:#fff;border-radius:20px;background:linear-gradient(135deg,#25263e,#5540a0);text-align:center}.rules-footer-cta>span{font-size:8px;font-weight:900;letter-spacing:1.5px}.rules-footer-cta h2{margin:7px 0 18px;font-family:Fredoka,sans-serif;font-size:27px}.auth-layout{display:grid;min-height:640px;grid-template-columns:minmax(0,.85fr) minmax(410px,.55fr);overflow:hidden;border-radius:28px;background:#fff;box-shadow:var(--shadow)}.auth-art{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:58px;color:#fff;background:linear-gradient(145deg,#1b1d34,#30285c 64%,#6b4dc7)}.auth-art:before{position:absolute;width:420px;height:420px;left:-180px;top:-190px;content:"";border:70px solid rgba(255,255,255,.04);border-radius:50%}.auth-mini-cards{position:absolute;inset:80px 55px auto;height:300px}.auth-mini-cards span{position:absolute;display:grid;width:120px;height:170px;place-items:center;border:4px solid #fff;border-radius:18px;font-family:Fredoka,sans-serif;font-size:26px;box-shadow:0 18px 35px #00000040}.auth-mini-cards span:nth-child(1){left:10%;top:55px;color:#54421b;background:var(--yellow);transform:rotate(-12deg)}.auth-mini-cards span:nth-child(2){left:36%;top:10px;z-index:2;background:var(--coral)}.auth-mini-cards span:nth-child(3){left:62%;top:60px;color:#174c50;background:var(--cyan);transform:rotate(12deg)}.auth-art h2{position:relative;margin:0 0 8px;font-family:Fredoka,sans-serif;font-size:35px}.auth-art p{position:relative;max-width:520px;margin:0;color:#bfc1d3;font-size:12px;line-height:1.65}.auth-form-wrap{display:grid;place-items:center;padding:52px}.auth-form{width:min(390px,100%)}.auth-form h1{margin:0;font-family:Fredoka,sans-serif;font-size:34px}.auth-form>p{margin:7px 0 26px;color:var(--muted);font-size:12px}.social-auth{display:grid;gap:9px;margin:0 0 10px}.social-auth-button{position:relative;display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;gap:10px;padding:0 16px;border:1px solid #d9dae2;border-radius:11px;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.social-auth-button svg{width:19px;height:19px;flex:0 0 auto}.social-auth-button.google{color:#343640;background:#fff}.social-auth-button.apple{color:#fff;border-color:#090909;background:#090909}.social-auth-button:hover{box-shadow:0 5px 16px #1f1f2f1a;transform:translateY(-1px)}.social-auth-button.is-unavailable{opacity:.52;cursor:not-allowed}.social-auth-button.is-unavailable:hover{box-shadow:none;transform:none}.social-auth-button em{position:absolute;right:9px;padding:3px 5px;color:#6c6875;border-radius:999px;background:#eeeef2;font-size:5px;font-style:normal;letter-spacing:.4px;text-transform:uppercase}.social-auth-button.apple em{color:#25232c;background:#fff}.social-auth-note{margin:0 0 15px!important;color:#8c8997!important;font-size:7px!important;line-height:1.45!important;text-align:center}.auth-divider{display:flex;align-items:center;gap:10px;margin:17px 0;color:#999aa5;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.auth-divider:before,.auth-divider:after{height:1px;flex:1;content:"";background:#e7e7ed}.auth-divider span{flex:0 0 auto}.auth-form label{display:block;margin-bottom:15px;color:#535669;font-size:10px;font-weight:800}.auth-form input,.join-form input{width:100%;min-height:47px;margin-top:7px;padding:0 13px;color:var(--ink);border:1px solid #dddee7;border-radius:11px;background:#fbfbfd}.auth-form input:focus,.join-form input:focus{border-color:#9b86e4;box-shadow:0 0 0 3px #7152d514;outline:0}.auth-switch{margin:17px 0 0!important;text-align:center}.text-link{padding:0;color:var(--purple);border:0;background:transparent;font-weight:800}.form-error{min-height:18px;margin:-3px 0 9px;color:#cf4755;font-size:10px;font-weight:700}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:20px 0 25px}.page-heading .kicker{margin:0 0 5px;color:var(--purple);font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.page-heading h1{margin:0;font-family:Fredoka,sans-serif;font-size:37px}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}.player-badge{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:11px;font-weight:700}.player-avatar{display:grid;width:31px;height:31px;place-items:center;color:#fff;border-radius:10px;background:var(--purple);font-family:Fredoka,sans-serif}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.play-card{position:relative;overflow:hidden;min-height:235px;padding:29px;border-radius:21px;color:#fff;box-shadow:var(--shadow)}.play-card.pvp{background:linear-gradient(135deg,#6847c7,#8a6cea)}.play-card.cpu{background:linear-gradient(135deg,#1d9e9a,#4bcac6)}.play-card:after{position:absolute;width:190px;height:190px;right:-45px;top:-70px;content:"";border:35px solid rgba(255,255,255,.09);border-radius:50%}.mode-icon{display:grid;width:47px;height:47px;place-items:center;border-radius:14px;background:#ffffff26;font-size:21px}.play-card h2{margin:22px 0 6px;font-family:Fredoka,sans-serif;font-size:27px}.play-card p{max-width:430px;margin:0 0 22px;color:#ffffffc7;font-size:11px;line-height:1.6}.mode-button{min-height:41px;padding:0 15px;color:inherit;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:#ffffff1c;font-size:10px;font-weight:800}.mode-button:hover{background:#fff3}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:18px;margin-top:18px}.portal-panel{padding:25px;border:1px solid rgba(30,30,48,.06);border-radius:19px;background:#fff;box-shadow:0 8px 28px #1e1e300d}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-title h2{margin:0;font-family:Fredoka,sans-serif;font-size:21px}.soft-count{padding:5px 9px;color:var(--muted);border-radius:999px;background:#f1f1f5;font-size:9px;font-weight:800}.rooms-list{display:grid;gap:9px}.room-row{display:grid;grid-template-columns:58px minmax(120px,1fr) auto auto;align-items:center;gap:12px;min-height:66px;padding:9px 10px;border:1px solid #ececf2;border-radius:13px}.room-mode{display:grid;width:45px;height:45px;place-items:center;color:var(--purple);border-radius:12px;background:var(--lavender);font-size:18px}.room-copy strong,.room-copy small{display:block}.room-copy strong{font-size:12px}.room-copy small{margin-top:3px;color:var(--muted);font-size:9px}.room-status{padding:5px 8px;color:#2e855b;border-radius:999px;background:#e7f8ef;font-size:8px;font-weight:800;text-transform:uppercase}.room-status.active{color:#8a6311;background:#fff3d3}.room-status.finished{color:#74778a;background:#eeeef3}.room-open{width:34px;height:34px;color:var(--purple);border:1px solid #ddd6f5;border-radius:9px;background:#f7f5ff}.join-form{display:grid;gap:11px}.join-form p{margin:-8px 0 2px;color:var(--muted);font-size:10px;line-height:1.55}.join-form input{margin:0;text-align:center;font-family:Fredoka,sans-serif;font-size:20px;letter-spacing:5px;text-transform:uppercase}.empty-rooms{padding:35px 12px;color:var(--muted);text-align:center;font-size:11px}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 22px}.room-heading h1{margin:0;font-family:Fredoka,sans-serif;font-size:34px}.room-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.room-code{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.room-code span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:1px}.room-code strong{font-family:Fredoka,sans-serif;letter-spacing:3px}.room-code button{width:31px;height:31px;color:var(--purple);border:0;border-radius:8px;background:var(--lavender)}.waiting-card{min-height:470px;padding:35px;border-radius:25px;background:#fff;box-shadow:var(--shadow)}.waiting-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.waiting-top h2{margin:0;font-family:Fredoka,sans-serif}.waiting-top p{margin:5px 0 0;color:var(--muted);font-size:10px}.pulse-pill{display:flex;align-items:center;gap:7px;padding:7px 10px;color:#876216;border-radius:999px;background:#fff3d4;font-size:8px;font-weight:800;text-transform:uppercase}.pulse-pill i{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #f4c85f2e}.seats{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;margin:50px auto}.seat{display:grid;min-height:190px;place-content:center;justify-items:center;padding:23px;border:1px solid #e8e7ef;border-radius:19px;background:#fafafd;text-align:center}.seat.is-ready{border-color:#c8ead8;background:#f1fbf6}.seat.is-empty{border-style:dashed;color:#9a9dac}.seat-avatar{display:grid;width:62px;height:62px;place-items:center;color:#fff;border-radius:20px;background:var(--purple);font-family:Fredoka,sans-serif;font-size:23px}.seat:nth-child(3) .seat-avatar{background:var(--cyan)}.seat strong{margin-top:12px;font-size:13px}.seat small{margin-top:4px;color:var(--muted);font-size:9px}.versus{display:grid;width:48px;height:48px;place-items:center;color:var(--coral);border-radius:50%;background:#ffe9eb;font-family:Fredoka,sans-serif;font-weight:700}.waiting-actions{display:flex;justify-content:center;gap:10px}.waiting-note{margin:18px 0 0;color:var(--muted);font-size:9px;text-align:center}.team-organization-button{color:#fff;border-color:#5f43b5;background:linear-gradient(135deg,#6d4dcc,#8f72e5)}.team-organizer-overlay{position:fixed;z-index:160;inset:0;display:grid;overflow:auto;padding:24px;place-items:center;background:#171526c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.team-organizer{width:min(1180px,100%);max-height:calc(100vh - 48px);overflow:auto;border:4px solid #272436;border-radius:24px;background:#f8f7fc;box-shadow:0 30px 90px #0a08186b}.team-organizer>header{position:sticky;z-index:4;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 25px;color:#fff;background:linear-gradient(135deg,#28253e,#6145b5)}.team-organizer>header small{font-size:7px;font-weight:900;letter-spacing:1.5px}.team-organizer>header h2{margin:4px 0 3px;font-family:Fredoka,sans-serif;font-size:28px}.team-organizer>header p{margin:0;color:#d7d2e8;font-size:9px}.team-organizer>header button{width:36px;height:36px;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:11px;background:#ffffff1a;font-size:22px;cursor:pointer}.team-organizer-layout{display:grid;grid-template-columns:minmax(480px,.95fr) minmax(0,1.05fr);gap:18px;padding:20px}.setup-board,.setup-library{padding:18px;border:1px solid #e2dfeb;border-radius:17px;background:#fff}.setup-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.setup-section-title strong{font-family:Fredoka,sans-serif;font-size:16px}.setup-section-title small{color:var(--muted);font-size:7px}.trinket-title{margin-top:20px}.setup-character-group{overflow:hidden;border:2px solid;border-radius:15px}.setup-character-group+.setup-character-group{margin-top:14px}.setup-toon-group{border-color:#826be0;background:#eee9ff}.setup-twisted-group{border-color:#ed6974;background:#ffe8ea}.setup-group-heading{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.setup-group-heading span{display:flex;align-items:center;gap:8px}.setup-group-heading i{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:#ffffffc2;font-size:13px;font-style:normal}.setup-group-heading strong{font-family:Fredoka,sans-serif;font-size:14px;letter-spacing:.6px}.setup-group-heading b{min-width:48px;padding:5px 9px;color:#fff;border-radius:999px;background:#7055c8;font-size:9px;text-align:center}.setup-twisted-group .setup-group-heading b{background:#d94f5e}.setup-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 10px 10px}.setup-trinket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border-radius:13px;background:#ff8737}.setup-slot{position:relative;display:grid;min-height:124px;overflow:hidden;padding:8px;place-content:center;justify-items:center;color:#4d4960;border:2px dashed rgba(70,61,96,.3);border-radius:10px;background:#ffffffd1;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.setup-slot-toon{border-color:#644cbe6b}.setup-slot-twisted{border-color:#d547556b}.setup-slot.is-active{z-index:1;border-style:solid;border-color:#ffd34d;background:#fffbea;box-shadow:0 0 0 4px #ffd34d61,0 10px 24px #3d2d6c33;transform:translateY(-2px)}.setup-slot.is-active:after{position:absolute;z-index:3;right:6px;bottom:6px;padding:4px 6px;content:"✓";color:#2f2750;border-radius:999px;background:#ffd34d;font-size:8px;font-weight:900}.setup-slot.is-invalid{border-color:#a62132;background:#ffe1e5;box-shadow:inset 0 0 0 2px #a621321f}.setup-slot>em{position:absolute;z-index:2;top:5px;left:5px;padding:3px 5px;color:#5b4c82;border-radius:999px;background:#ffffffeb;font-size:6px;font-style:normal;font-weight:900}.setup-slot>img{width:58px;height:82px;object-fit:contain;border-radius:5px}.setup-slot>strong{max-width:100%;margin-top:4px;overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.setup-slot>span{font-size:22px}.setup-slot>small{margin-top:3px;font-size:7px;text-align:center}.setup-library{min-width:0}.setup-library h3{margin:0;font-family:Fredoka,sans-serif;font-size:14px}.setup-selected{padding:11px 13px;border:2px solid transparent;border-radius:12px;background:#f0eef6}.setup-selected small,.setup-selected strong{display:block}.setup-selected small{color:#765db6;font-size:6px;font-weight:900;letter-spacing:1px}.setup-selected strong{margin-top:3px;font-size:11px}.setup-selected p{margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.setup-selected>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.setup-selected>div button{min-height:28px;padding:0 10px;font-size:7px}.setup-selected.is-active{border-color:#f0c43d;background:#fff9df;box-shadow:0 6px 18px #604b121a}.setup-selected.is-toon{border-color:#8065dd;background:#f2efff}.setup-selected.is-twisted{border-color:#e05a68;background:#fff0f2}.setup-remove-card{color:#a33340;border:1px solid #efc0c5;border-radius:8px;background:#fff;font-weight:900;cursor:pointer}.setup-catalog-section{margin-top:18px}.setup-catalog-heading{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.setup-carousel-tools{display:flex;align-items:center;gap:7px}.setup-carousel-tools>small,.setup-carousel-controls{display:flex}.setup-carousel-tools>small{color:var(--muted);font-size:7px;font-weight:800}.setup-carousel-controls{align-items:center;gap:5px}.setup-carousel-controls button{display:grid;width:32px;height:32px;padding:0;place-items:center;color:#6548bf;border:1px solid #d8cff5;border-radius:9px;background:#f4f0ff;font-size:20px;font-weight:900;cursor:pointer;transition:background .16s ease,transform .16s ease}.setup-carousel-controls button:hover{background:#e9e1ff;transform:translateY(-1px)}.setup-catalog-grid{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;gap:9px;padding:7px 7px 11px;scroll-padding-inline:7px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.setup-catalog-grid::-webkit-scrollbar{display:none}.setup-catalog-card{position:relative;display:grid;min-width:0;flex:0 0 clamp(104px,22%,132px);overflow:hidden;padding:6px;color:var(--ink);border:2px solid transparent;border-radius:10px;background:#f3f1f7;text-align:left;scroll-snap-align:start;scroll-snap-stop:always;cursor:pointer;transition:opacity .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.setup-catalog-card:hover:not(:disabled),.setup-catalog-card.is-compatible{border-color:#7255ce;background:#fff;box-shadow:0 5px 16px #503a972e;transform:translateY(-2px)}.setup-catalog-card.is-compatible:before{position:absolute;z-index:4;top:5px;right:5px;display:grid;width:18px;height:18px;place-items:center;content:"✓";color:#fff;border-radius:50%;background:#6f50ca;font-size:8px;font-weight:900}.setup-catalog-card.is-dimmed,.setup-catalog-card.is-used{cursor:not-allowed;filter:grayscale(.7)}.setup-catalog-card.is-dimmed:after,.setup-catalog-card.is-used:after{position:absolute;z-index:5;inset:0;display:grid;padding:7px;place-items:center;content:attr(data-lock-label);color:#fff;background:#0f0e16ad;font-size:7px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.35px}.setup-toon-catalog{border-radius:12px;background:#f2efff}.setup-twisted-catalog{border-radius:12px;background:#fff0f1}.setup-library-toon-title{color:#6048b8}.setup-library-twisted-title{color:#c54553}.setup-catalog-card img{width:100%;aspect-ratio:611/853;object-fit:contain;border-radius:6px;background:#2d2c34}.setup-catalog-card>span{display:grid;width:100%;aspect-ratio:611/853;place-items:center;border-radius:6px;background:#e8e3f6;font-size:25px}.setup-catalog-card strong,.setup-catalog-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-catalog-card strong{margin-top:5px;font-size:8px}.setup-catalog-card small{color:var(--muted);font-size:6px;text-transform:uppercase}.setup-trinket-catalog{max-height:none}.team-organizer-wizard{width:min(1080px,100%)}.team-wizard-shell{display:grid;gap:18px;padding:20px}.team-wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.team-wizard-progress button{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;color:#656274;border:1px solid #dfdce8;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.team-wizard-progress button.is-active{color:#fff;border-color:#6e52ca;background:linear-gradient(135deg,#7659d2,#5a3daf);box-shadow:0 8px 20px #4e379b33}.team-wizard-progress b{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:#eee9ff;font-size:9px}.team-wizard-progress .is-active b{color:#53399d;background:#fff}.team-wizard-progress span{overflow:hidden;font-size:9px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.team-wizard-progress small{font-size:7px;font-weight:900}.team-wizard-step{overflow:hidden;border:1px solid #e0ddea;border-radius:17px;background:#fff}.team-wizard-step>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px}.team-wizard-step>header>span{display:grid;width:48px;height:48px;place-items:center;color:#fff;border-radius:15px;background:#7559cf;font-size:23px}.team-wizard-step-twisted>header>span{background:#dc5260}.team-wizard-step-trinket>header>span{background:#ef843a}.team-wizard-step>header small{color:#7962ba;font-size:7px;font-weight:900;letter-spacing:1.2px}.team-wizard-step>header h3{margin:3px 0 4px;font-family:Fredoka,sans-serif;font-size:23px}.team-wizard-step>header p{max-width:680px;margin:0;color:var(--muted);font-size:9px;line-height:1.5}.team-wizard-step>header>strong{padding:7px 10px;color:#5940a5;border-radius:999px;background:#eee9ff;font-size:8px;white-space:nowrap}.wizard-catalog-heading{padding:0 18px}.wizard-catalog-heading>small{color:var(--muted);font-size:7px;font-weight:900}.setup-wizard-catalog{border-radius:0;padding:12px 18px 18px}.wizard-choice-card{position:relative;min-width:0;flex:0 0 clamp(122px,18%,164px);overflow:hidden;border:2px solid transparent;border-radius:13px;background:#f5f3f9;scroll-snap-align:start;transition:.16s ease}.wizard-choice-card.is-selected{border-color:#7052cd;background:#eee9ff;box-shadow:0 8px 18px #4d359a2e;transform:translateY(-2px)}.wizard-card-toggle{display:grid;width:100%;padding:7px;color:var(--ink);border:0;background:transparent;text-align:left;cursor:pointer}.wizard-card-toggle img,.wizard-card-toggle>span{width:100%;aspect-ratio:611/853;border-radius:8px;background:#34323c;object-fit:contain}.wizard-card-toggle>span{display:grid;place-items:center;color:#fff;font-size:34px}.wizard-card-toggle strong,.wizard-card-toggle small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-card-toggle strong{margin-top:7px;font-size:9px}.wizard-card-toggle small{margin-top:2px;color:var(--muted);font-size:7px}.wizard-choice-card.is-selected .wizard-card-toggle small{color:#6047b3;font-weight:900}.wizard-card-info{position:absolute;z-index:3;top:12px;right:12px;display:grid;width:30px;height:30px;place-items:center;color:#fff;border:2px solid rgba(255,255,255,.82);border-radius:50%;background:#231f30db;font-family:serif;font-size:13px;font-weight:900;cursor:pointer}.team-wizard-review{display:grid;gap:13px}.team-wizard-review>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#29263e,#6247b7)}.team-wizard-review>header small{color:#d6ceef;font-size:7px;font-weight:900;letter-spacing:1.3px}.team-wizard-review>header h3{margin:4px 0;font-family:Fredoka,sans-serif;font-size:25px}.team-wizard-review>header p{margin:0;color:#d9d4e8;font-size:9px}.wizard-review-primary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.wizard-review-primary-actions button{white-space:nowrap}.wizard-review-group{overflow:hidden;border:1px solid #e1deea;border-radius:15px;background:#fff}.wizard-review-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:#f1edff}.wizard-review-twisted>header{background:#ffecee}.wizard-review-trinket>header{background:#fff1e7}.wizard-review-group>header>div{display:flex;align-items:center;gap:8px}.wizard-review-group>header span{font-size:17px}.wizard-review-group>header strong{font-family:Fredoka,sans-serif}.wizard-review-group>header small{padding:3px 6px;border-radius:999px;background:#fff;font-size:7px;font-weight:900}.wizard-review-group>header button{min-height:30px;padding:0 10px;color:#654ab8;border:1px solid #d7cef1;border-radius:9px;background:#fff;font-size:7px;font-weight:900;cursor:pointer}.wizard-review-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:11px}.wizard-review-card{position:relative;min-width:0;padding:6px;border:1px solid #e4e1eb;border-radius:11px;background:#f8f7fa}.wizard-review-preview{display:grid;width:100%;color:var(--ink);border:0;background:transparent;text-align:left;cursor:pointer}.wizard-review-preview img,.wizard-review-preview>span{width:100%;aspect-ratio:611/853;border-radius:7px;background:#34323c;object-fit:contain}.wizard-review-preview>span{display:grid;place-items:center;color:#fff;font-size:30px}.wizard-review-preview strong,.wizard-review-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-review-preview strong{margin-top:5px;font-size:8px}.wizard-review-preview small{margin-top:2px;color:var(--muted);font-size:6px}.wizard-review-remove{width:100%;min-height:27px;margin-top:6px;color:#a23745;border:1px solid #efc5ca;border-radius:7px;background:#fff;font-size:7px;font-weight:900;cursor:pointer}.team-wizard-footer .setup-progress>span:not(.setup-complete):not(.setup-missing){color:#5e4a9a;background:#eee9ff}.team-organizer>footer{position:sticky;z-index:4;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:15px 20px;border-top:1px solid #dedbe7;background:#fff}.setup-progress{display:flex;flex-wrap:wrap;gap:6px;margin-right:auto}.setup-progress span{padding:5px 8px;border-radius:999px;font-size:7px;font-weight:900}.setup-missing{color:#9b4a1d;background:#fff0d9}.setup-complete{color:#24734f;background:#e4f7ed}.game-notice-overlay{position:fixed;z-index:220;inset:0;display:grid;padding:max(24px,env(safe-area-inset-top,0px)) 24px max(24px,env(safe-area-inset-bottom,0px));place-items:center;background:#161422c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:notice-fade .2s ease both}.game-notice-overlay.is-closing{pointer-events:none;animation:notice-fade-out .17s ease both}.game-notice-card{width:min(590px,100%);padding:44px 40px;border:4px solid #29263a;border-radius:26px;background:#fff;box-shadow:0 28px 80px #0d0a1f66;text-align:center;animation:notice-card-in .28s cubic-bezier(.2,.85,.25,1.15) both}.game-notice-overlay.is-closing .game-notice-card{animation:notice-card-out .17s ease both}.game-notice-icon{display:grid;width:82px;height:82px;margin:0 auto 16px;place-items:center;color:#fff;border-radius:25px;background:linear-gradient(135deg,#f15c68,#d83f52);box-shadow:0 12px 28px #d83f5240;font-family:Fredoka,sans-serif;font-size:39px;font-weight:900}.game-notice-card>small{color:#8a70c9;font-size:8px;font-weight:900;letter-spacing:1.8px}.game-notice-card h2{margin:8px 0 9px;font-family:Fredoka,sans-serif;font-size:36px}.game-notice-card p{max-width:470px;margin:0 auto 24px;color:var(--muted);font-size:12px;line-height:1.65}.game-notice-card>button{min-width:180px;min-height:46px;font-size:10px}.game-notice-overlay.is-round .game-notice-icon{background:linear-gradient(135deg,#7556d1,#4b3298);box-shadow:0 12px 28px #5337a84d}.game-notice-overlay.is-duel .game-notice-icon{background:linear-gradient(135deg,#b249c7,#6a3cb1)}.game-notice-overlay.is-deployment .game-notice-icon{background:linear-gradient(135deg,#ef6170,#bd3445)}.game-notice-overlay.is-ready .game-notice-icon,.game-notice-overlay.is-victory .game-notice-icon{background:linear-gradient(135deg,#35b985,#187b58)}.game-notice-overlay.is-victory .game-notice-card{border-color:#247d5d;background:linear-gradient(180deg,#fff,#eafaf3)}.game-notice-overlay.is-defeat .game-notice-icon{background:linear-gradient(135deg,#717380,#3b3c46)}.game-notice-overlay.is-defeat .game-notice-card{background:linear-gradient(180deg,#fff,#f0f0f3)}.game-notice-overlay.is-turn .game-notice-icon{background:linear-gradient(135deg,#5d9ed8,#3f65b6)}.game-notice-overlay.is-intermission .game-notice-icon{background:linear-gradient(135deg,#7b58d7,#52359e);animation:hourglass-turn 1.4s ease-in-out infinite}.game-notice-overlay.is-intermission .game-notice-card{background:linear-gradient(180deg,#fff,#f3efff)}.is-blocked{opacity:.62;cursor:not-allowed!important}.is-blocked:hover{transform:none!important}@keyframes notice-fade{0%{opacity:0}}@keyframes notice-fade-out{to{opacity:0}}@keyframes notice-card-in{0%{opacity:0;transform:translateY(18px) scale(.94)}}@keyframes notice-card-out{to{opacity:0;transform:translateY(10px) scale(.97)}}@keyframes hourglass-turn{50%{transform:rotate(180deg) scale(1.08)}to{transform:rotate(360deg)}}.game-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:15px 18px;color:#fff;border-radius:14px;background:linear-gradient(135deg,#272a43,#3c346a)}.turn-copy strong,.turn-copy small{display:block}.turn-copy strong{font-family:Fredoka,sans-serif;font-size:17px}.turn-copy small{margin-top:3px;color:#bec0d2;font-size:9px}.round-badge{padding:7px 11px;border-radius:999px;background:#ffffff1a;font-size:9px;font-weight:800}.game-counters{display:flex;align-items:center;gap:7px}.prototype-warning{margin-bottom:14px;padding:10px 13px;color:#8a6617;border:1px solid #f1dfad;border-radius:10px;background:#fff8e6;font-size:9px;line-height:1.5}.board{display:grid;grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr);gap:14px;align-items:start}.team-panel{padding:18px;border:1px solid rgba(30,30,48,.06);border-radius:18px;background:#fff;box-shadow:0 7px 23px #1e1e300b}.team-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.team-heading strong{font-family:Fredoka,sans-serif}.team-heading span{color:var(--muted);font-size:9px}.team-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.battle-card{position:relative;min-height:210px;overflow:hidden;padding:9px;color:var(--ink);border:2px solid transparent;border-radius:13px;background:#f7f6fa;text-align:left;transition:.16s ease}.battle-card:hover:not(:disabled){transform:translateY(-2px);border-color:#cfc4f4}.battle-card.is-selected{border-color:var(--purple);background:#f1edff;box-shadow:0 0 0 3px #7152d51a}.battle-card.is-defeated{opacity:.42;filter:grayscale(1)}.battle-card-art{display:grid;width:100%;aspect-ratio:719/459;margin-bottom:8px;object-fit:cover;place-items:center;overflow:hidden;border-radius:9px;background:linear-gradient(135deg,#7462d9,#3f376d);color:#fff;font-family:Fredoka,sans-serif;font-size:24px}.battle-card-title{display:block;overflow:hidden;font-family:Fredoka,sans-serif;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.battle-card-role{display:block;margin-top:2px;color:var(--muted);font-size:8px}.hp-bar{height:6px;overflow:hidden;margin:8px 0 6px;border-radius:999px;background:#e4e3e9}.hp-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--coral),#ff969d)}.battle-stats{display:flex;justify-content:space-between;gap:5px;font-size:8px;font-weight:800}.battle-stats .hp{color:#cf4a57}.battle-stats .def{color:#417cbd}.battle-stats .sta{color:#a67918}.breaking-status{display:inline-flex;margin-top:5px;padding:3px 6px;color:#896719;border-radius:999px;background:#fff1c8;font-size:7px;font-weight:900;text-transform:uppercase}.breaking-status.is-unlocked{color:#fff;background:linear-gradient(135deg,#ef5c69,#9f3fc2);box-shadow:0 4px 10px #b63e7738}.rule-pending-status{display:inline-flex;margin:5px 0 0 4px;padding:3px 6px;color:#725b9b;border-radius:999px;background:#eee8fb;font-size:7px;font-weight:900;text-transform:uppercase}.tabletop-shell{overflow-x:auto;padding:12px;border:5px solid #272833;border-radius:18px;background:#64666b;box-shadow:0 20px 45px #1c1d2a29}.board-dice-tray{display:grid;width:min(720px,calc(100% - 24px));min-width:620px;grid-template-columns:auto 1fr 1fr;align-items:center;gap:10px;margin:0 auto 12px;padding:9px;color:#fff;border:4px solid #252631;border-radius:13px;background:linear-gradient(145deg,#353641,#24252e);box-shadow:0 10px 22px #16171f4d}.board-dice-tray>header{display:flex;align-items:center;gap:8px;padding:0 8px}.board-dice-tray>header>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#ffffff1a;font-size:20px}.board-dice-tray header small,.board-dice-tray header strong{display:block}.board-dice-tray header small{color:#bbb9d3;font-size:6px;font-weight:900;letter-spacing:1px}.board-dice-tray header strong{margin-top:2px;font-family:Fredoka,sans-serif;font-size:11px}.player-dice{display:grid;grid-template-columns:minmax(90px,1fr) auto 62px;align-items:center;gap:8px;padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff0f}.player-dice.is-own{box-shadow:inset 3px 0 #6e83ff}.player-dice.is-rival{box-shadow:inset 3px 0 #75df70}.player-dice>div:first-child small,.player-dice>div:first-child strong{display:block}.player-dice>div:first-child small{color:#b9bad0;font-size:6px;font-weight:900}.player-dice>div:first-child strong{margin-top:2px;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.dice-pair{display:flex;gap:5px}.die-face{position:relative;display:grid;width:31px;height:31px;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:1px;padding:5px;border-radius:7px;background:#fff;box-shadow:inset 0 -3px #d8d8df,0 3px 7px #00000040}.die-face i{display:none;width:5px;height:5px;align-self:center;justify-self:center;border-radius:50%;background:#292637}.die-1 i:nth-child(5),.die-2 i:nth-child(1),.die-2 i:nth-child(9),.die-3 i:nth-child(1),.die-3 i:nth-child(5),.die-3 i:nth-child(9),.die-4 i:nth-child(1),.die-4 i:nth-child(3),.die-4 i:nth-child(7),.die-4 i:nth-child(9),.die-5 i:nth-child(1),.die-5 i:nth-child(3),.die-5 i:nth-child(5),.die-5 i:nth-child(7),.die-5 i:nth-child(9),.die-6 i:nth-child(1),.die-6 i:nth-child(3),.die-6 i:nth-child(4),.die-6 i:nth-child(6),.die-6 i:nth-child(7),.die-6 i:nth-child(9){display:block}.player-dice>span{text-align:center}.player-dice>span b,.player-dice>span small{display:block}.player-dice>span b{font-family:Fredoka,sans-serif;font-size:15px}.player-dice>span small{max-width:60px;margin-top:1px;color:#c9c7d5;font-size:5px;line-height:1.2}.player-dice.is-rolling .die-face{animation:dice-tumble .72s ease both}.player-dice.is-rolling .die-face:nth-child(2){animation-delay:.08s}@keyframes dice-tumble{0%{opacity:.3;transform:rotate(-30deg) scale(.72)}55%{transform:rotate(18deg) scale(1.12)}to{opacity:1;transform:none}}.dw-board{display:grid;min-width:1088px;grid-template-columns:100px 220px minmax(400px,1fr) 220px 100px;grid-template-rows:auto auto;gap:12px;align-items:stretch}.board-zone{overflow:hidden;border:4px solid #252631;border-radius:10px}.board-zone header{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;color:#252631;background:#ffffffbd;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}.board-zone header small{font-size:7px;opacity:.7}.board-utilities{display:grid;gap:12px}.board-utilities.is-own{grid-column:1;grid-row:1}.board-utilities.is-enemy{grid-column:5;grid-row:1}.trinket-zone{background:#ff8533}.duel-zone{background:#b82dff}.trinket-zone>div,.duel-zone>div{display:grid;gap:7px;padding:8px}.team-square{min-height:600px}.team-square.is-own{grid-column:2;grid-row:1;background:#3558f3}.team-square.is-enemy{grid-column:4;grid-row:1;background:#6cff31}.team-position-hint{margin:0;padding:6px 8px;color:#393948;background:#ffffffb8;font-size:6px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.35px}.team-board-slot.is-front-line{position:relative;box-shadow:inset 0 0 0 2px #ffffff6b}.team-board-slot.is-front-line:before{position:absolute;z-index:1;top:3px;right:3px;padding:2px 4px;content:"F";color:#4e4473;border-radius:999px;background:#ffffffd1;font-size:6px;font-weight:900}.team-square-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.team-board-slot{display:grid;min-height:125px;padding:6px;place-items:stretch;border:2px solid rgba(255,255,255,.35);border-radius:7px;background:#ffffff94}.team-board-slot.empty{place-items:center}.team-slot-symbol{color:#25263147;font-size:24px}.shared-zone-stack{display:grid;grid-column:3;grid-row:1;grid-template-rows:auto 1fr auto;gap:12px}.intermission-zone{background:#ffd8d8}.intermission-zone>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 40px}.action-square{background:#ff343b}.action-square-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:12px}.action-area-phase-controls{display:grid;position:relative;z-index:3;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:9px 10px 0;padding:11px 12px;color:#292637;border:3px solid #3a2630;border-radius:11px;background:linear-gradient(135deg,#fff,#fff0f1);box-shadow:0 8px 20px #46111b3d}.action-area-phase-copy span,.action-area-phase-copy strong,.action-area-phase-copy small{display:block}.action-area-phase-copy span{color:#c43d4b;font-size:7px;font-weight:900;letter-spacing:1px}.action-area-phase-copy strong{margin-top:2px;font-family:Fredoka,sans-serif;font-size:14px}.action-area-phase-copy small{margin-top:2px;color:#716b78;font-size:8px;line-height:1.35}.action-area-phase-controls>button{min-width:164px;min-height:44px;padding:0 13px;font-size:9px;box-shadow:0 7px 14px #482d9f33}.action-area-phase-controls>button em{display:inline-grid;min-width:22px;height:22px;margin-left:5px;place-items:center;color:#5a3cae;border-radius:999px;background:#fff;font-size:8px;font-style:normal}.action-area-phase-controls.is-ready{border-color:#2d775b;background:linear-gradient(135deg,#fff,#e9fff5)}.action-area-phase-controls.is-ready .action-area-phase-copy span{color:#23825f}.action-board-slot{display:grid;min-height:114px;padding:6px;place-items:center;border:2px solid rgba(255,255,255,.28);border-radius:7px;background:#ffffffa3;color:#5a252c73;font-size:22px}.action-board-slot.is-own:not(.has-card){cursor:pointer}.action-board-slot.is-own:not(.has-card):hover{background:#fff2f2;box-shadow:inset 0 0 0 2px #5531a640}.lethal-zone{background:#aaa}.lethal-zone>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px}.lethal-claimed{position:relative;color:#fff;background:linear-gradient(145deg,#655c73,#3e3948);box-shadow:inset 0 0 0 2px #ffffff29}.lethal-claimed span{font-size:24px}.lethal-claimed small{white-space:normal}.lethal-claimed em{color:#4d3d78;background:#fff}.resource-card{display:grid;min-height:72px;padding:7px;place-items:center;color:#4a3f5e;border:2px solid rgba(255,255,255,.5);border-radius:6px;background:#ffffffb8;text-align:center}.resource-card span{font-size:20px}.resource-card small{display:block;max-width:100%;overflow:hidden;font-size:7px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.resource-card em{align-self:end;padding:3px 5px;border-radius:999px;background:#eee9ff;color:#604ba5;font-size:6px;font-style:normal;font-weight:900;text-transform:uppercase}.resource-card.is-empty{opacity:.48}.resource-card.is-hidden{position:relative;overflow:hidden;align-content:end;background:#171719 url(/assets/dandys-card-back.jpeg) center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff3d}.resource-card.is-hidden:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 58%,rgba(8,8,12,.76))}.resource-card.is-hidden small{position:relative;z-index:1;width:100%;padding:3px;overflow:visible;color:#fff;text-shadow:0 1px 2px #000;white-space:normal}.intermission-zone .resource-card,.item-zone .resource-card,.lethal-zone .resource-card{min-height:0;aspect-ratio:608/855}.resource-card.has-image{position:relative;overflow:hidden;padding:0;background:#f5f3f7}.resource-card.has-image img{width:100%;height:100%;object-fit:contain}.resource-card.has-image small{position:absolute;z-index:2;right:3px;bottom:3px;left:3px;padding:4px 3px;color:#fff;border-radius:4px;background:#14121dc7;text-shadow:0 1px 2px #000}.resource-card.has-image em{position:absolute;z-index:3;top:3px;right:3px}.resource-card:is(button){width:100%;font:inherit;cursor:pointer}.resource-card:is(button):hover,.resource-card:is(button).is-expanded{border-color:#6f50ca;box-shadow:0 0 0 2px #6f50ca2e}.resource-effect-panel{grid-column:1 / -1;padding:10px 12px;color:#403651;border:2px solid rgba(86,64,127,.16);border-radius:9px;background:#ffffffe6}.resource-effect-panel small,.resource-effect-panel strong{display:block}.resource-effect-panel small{color:#785bb2;font-size:7px;font-weight:900;letter-spacing:.8px}.resource-effect-panel strong{margin:3px 0 4px;font-size:11px}.resource-effect-panel p{margin:0;font-size:9px;line-height:1.45}.intermission-zone.is-revealed{box-shadow:inset 0 0 0 3px #c44f82}.intermission-zone>.resource-effect-panel{display:block;margin:0 40px 8px;padding:10px 12px}.lethal-zone>.resource-effect-panel{display:block;margin:0 8px 8px;padding:10px 12px}.board-character{display:grid;width:100%;height:100%;min-height:92px;overflow:hidden;padding:0;color:#242536;border:2px solid transparent;border-radius:7px;background:#fff;text-align:left}.board-character:hover{border-color:#352b65}.board-character.is-selected{border-color:#332663;box-shadow:0 0 0 3px #ffffffbf}.board-character.is-face-down,.board-character.is-lineup-hidden{position:relative;place-items:end center;border-color:#ffffff73;background:#171719 url(/assets/dandys-card-back.jpeg) center/cover no-repeat;box-shadow:inset 0 0 18px #00000040}.board-character.is-face-down:after,.board-character.is-lineup-hidden:after{position:absolute;inset:48% 0 0;content:"";background:linear-gradient(transparent,#000000c7)}.board-character.is-face-down span,.board-character.is-lineup-hidden span{position:relative;z-index:1;width:100%;padding:7px 4px;color:#fff;font-size:7px;font-weight:900;text-align:center;text-shadow:0 1px 2px #000;text-transform:uppercase}.board-character img{width:100%;height:58px;object-fit:cover}.board-character-symbol{display:grid;height:58px;place-items:center;color:#4c4658;background:linear-gradient(135deg,#eeeaff,#fff);font-size:30px}.board-character-copy{display:block;min-width:0;padding:6px}.board-character-copy strong,.board-character-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-character-copy strong{font-size:8px}.board-character-copy small{margin-top:2px;color:#747586;font-size:7px}.item-zone.is-own{grid-column:1 / 3;grid-row:2;background:#ffd943}.item-zone.is-enemy{grid-column:4 / 6;grid-row:2;background:#ffd943}.item-zone-content{display:grid;grid-template-columns:72px 72px minmax(0,1fr);gap:8px;padding:8px}.item-reserve{min-width:0;padding:8px;border-radius:7px;background:#fff0a9}.item-reserve>small{display:block;margin-bottom:6px;color:#7e681c;font-size:7px;font-weight:900;text-transform:uppercase}.item-reserve>div{display:flex;gap:6px}.item-reserve .resource-card{min-width:62px;min-height:55px}.item-reserve>div>span{color:#9b842c;font-size:8px}.board-history{grid-column:3;grid-row:2;max-height:145px;overflow:auto;padding:12px;color:#d8d9e4;border:4px solid #252631;border-radius:10px;background:#3d3f46}.board-history strong{color:#fff;font-family:Fredoka,sans-serif;font-size:11px}.board-history p{margin:6px 0 0;font-size:7px;line-height:1.4}.inventory-drawer{position:fixed;z-index:80;top:150px;right:0;width:min(330px,calc(100vw - 48px));transform:translate(100%);transition:transform .22s ease}.inventory-drawer.is-open{transform:translate(0)}.inventory-tab{position:absolute;top:34px;left:-48px;display:grid;width:48px;min-height:76px;place-items:center;padding:8px 4px;color:#fff;border:0;border-radius:14px 0 0 14px;background:linear-gradient(180deg,#744fd2,#3d2a78);box-shadow:-8px 8px 24px #24194a3d;cursor:pointer}.inventory-tab span{font-size:20px}.inventory-tab strong{padding:3px 6px;border-radius:999px;background:#ffffff29;font-size:8px}.inventory-panel{max-height:calc(100vh - 180px);overflow:auto;padding:18px;border:4px solid #282538;border-right:0;border-radius:18px 0 0 18px;background:#f8f6ff;box-shadow:-18px 20px 55px #1f1a3742}.inventory-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-panel header small,.inventory-panel header strong{display:block}.inventory-panel header small{color:#806bb9;font-size:7px;font-weight:900;letter-spacing:1px}.inventory-panel header strong{margin-top:3px;font-family:Fredoka,sans-serif;font-size:23px}.inventory-panel header button{width:31px;height:31px;color:#5f5578;border:0;border-radius:9px;background:#e9e3fa;cursor:pointer}.inventory-panel>p{margin:8px 0 14px;color:#777384;font-size:9px;line-height:1.45}.inventory-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.inventory-slots .resource-card,.inventory-empty{min-height:128px}.inventory-empty{display:grid;place-items:center;padding:8px;color:#aaa3bc;border:2px dashed #d4cde5;border-radius:9px;background:#fff;text-align:center}.inventory-empty span{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#f1edf9;font-size:9px;font-weight:900}.inventory-empty small{font-size:7px}.inventory-full{margin-top:12px;padding:9px;color:#9c5d16;border-radius:9px;background:#fff0d5;font-size:8px;font-weight:800}.board-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:15px 17px;border:1px solid #e4e3eb;border-radius:15px;background:#fff;box-shadow:var(--shadow)}.board-controls>div>strong,.board-controls>div>small{display:block}.board-controls>div>strong{font-family:Fredoka,sans-serif}.board-controls>div>small{margin-top:3px;color:var(--muted);font-size:9px}.board-controls-active{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.4fr)}.board-selection{display:grid;grid-template-columns:1fr 1fr;gap:8px}.board-selection span{min-width:0;padding:8px 10px;border:1px dashed #dedce8;border-radius:9px}.board-selection small,.board-selection strong{display:block}.board-selection small{color:var(--muted);font-size:7px;text-transform:uppercase}.board-selection strong{margin-top:3px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.board-action-buttons{display:flex;flex-wrap:wrap;gap:7px}.board-action-buttons button{min-height:34px;padding:0 12px;font-size:8px}.action-block-explanation{grid-column:1 / -1;margin:0;color:#8b6a1e;font-size:8px}.battle-center{position:sticky;top:14px;padding:18px;border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:center}.battle-center h3{margin:0;font-family:Fredoka,sans-serif}.battle-center p{margin:5px 0 14px;color:var(--muted);font-size:9px;line-height:1.5}.selection-summary{display:grid;gap:8px;margin:14px 0;text-align:left}.selection-summary div{min-height:42px;padding:8px 10px;border:1px dashed #dedce7;border-radius:10px}.selection-summary small,.selection-summary strong{display:block}.selection-summary small{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:1px}.selection-summary strong{margin-top:3px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.battle-log{max-height:190px;overflow:auto;margin-top:14px;padding-top:12px;border-top:1px solid #eeeef3;text-align:left}.battle-log p{margin:0 0 8px;font-size:8px;line-height:1.4}.ability-choice-picker{display:grid;gap:6px;margin:0 0 12px;padding:9px;border:1px solid #e5d8f5;border-radius:11px;background:#faf6ff;text-align:left}.ability-choice-picker>div strong,.ability-choice-picker>div small{display:block}.ability-choice-picker>div strong{color:#8f3dad;font-family:Fredoka,sans-serif;font-size:11px}.ability-choice-picker>div small{margin-top:2px;color:var(--muted);font-size:7px}.ability-choice-button{padding:8px;color:var(--ink);border:1px solid #e6e0ef;border-radius:9px;background:#fff;text-align:left}.ability-choice-button strong,.ability-choice-button small{display:block}.ability-choice-button strong{font-size:8px}.ability-choice-button small{margin-top:2px;color:var(--muted);font-size:7px}.ability-choice-button.is-selected{color:var(--purple);border-color:#9a80e2;background:#f0eaff;box-shadow:0 0 0 2px #7152d514}.board-controls-active{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);align-items:start}.dice-choice-controls{border-color:#e4bd56;background:linear-gradient(135deg,#fff,#fff8dc)}.candy-choice-grid{display:flex;overflow-x:auto;gap:8px;padding:3px}.candy-choice-card{display:grid;flex:0 0 128px;min-height:140px;overflow:hidden;padding:7px;color:#3f364c;border:2px solid #ead89b;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.candy-choice-card:hover{border-color:#c08a16;transform:translateY(-2px)}.candy-choice-card img,.candy-choice-card>span{width:100%;height:76px;border-radius:7px;object-fit:contain;background:#f5efff}.candy-choice-card>span{display:grid;place-items:center;font-size:30px}.candy-choice-card strong{margin-top:5px;font-size:8px}.candy-choice-card small{margin-top:2px;color:#777080;font-size:6px;line-height:1.35}.board-controls-active .board-action-buttons,.board-controls-active .action-block-explanation{grid-column:1}.ability-panel{display:grid;grid-column:2;grid-row:1 / span 3;gap:10px;min-width:0;padding:13px;border:1px solid #ded7f4;border-radius:13px;background:linear-gradient(145deg,#fbf9ff,#f3efff)}.ability-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ability-panel>header small,.ability-panel>header strong{display:block}.ability-panel>header small{color:#806bb9;font-size:7px;font-weight:900;letter-spacing:1px}.ability-panel>header strong{margin-top:3px;font-family:Fredoka,sans-serif;font-size:15px}.ability-panel>header>span{flex:0 0 auto;padding:5px 8px;color:#775d18;border-radius:999px;background:#fff0bd;font-size:7px;font-weight:900}.ability-panel>p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.ability-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ability-option{position:relative;display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;color:var(--ink);border:1px solid #e2deed;border-radius:10px;background:#fff;text-align:left;transition:.16s ease}.ability-option:hover{border-color:#aa98df;transform:translateY(-1px)}.ability-option.is-selected{border-color:#7658d1;background:#eee9ff;box-shadow:0 0 0 2px #7152d517}.ability-acronym{display:grid;min-width:34px;height:34px;padding:0 5px;place-items:center;color:#fff;border-radius:9px;background:linear-gradient(135deg,#795ce0,#5a3caf);font-size:8px;font-weight:900}.ability-option-copy{min-width:0}.ability-option-copy strong,.ability-option-copy small{display:block}.ability-option-copy strong{display:-webkit-box;overflow:hidden;font-size:8px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ability-option-copy small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:6px;text-overflow:ellipsis;white-space:nowrap}.ability-status-dot{width:8px;height:8px;border-radius:50%;background:#67cf98;box-shadow:0 0 0 3px #e9f8f0}.ability-status-dot.is-passive{background:#53a6d8;box-shadow:0 0 0 3px #e4f3fb}.ability-status-dot.is-active{background:#f4c85f;box-shadow:0 0 0 3px #fff4d5}.ability-status-dot.is-locked{background:#aaa7b3;box-shadow:0 0 0 3px #efedf2}.ability-resolution{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-top:10px;border-top:1px solid #ded7ef}.ability-resolution>div:first-child small,.ability-resolution>div:first-child strong{display:block}.ability-resolution>div:first-child small{color:#806bb9;font-size:6px;font-weight:900;letter-spacing:1px}.ability-resolution>div:first-child strong{margin-top:3px;font-size:8px;line-height:1.4}.ability-resolution>button{min-height:37px;font-size:8px}.ability-resolution .ability-choice-picker{grid-column:1 / -1;margin:0}.ability-guidance{grid-column:1 / -1;margin:0;color:#4c8c6b;font-size:7px;line-height:1.4}.ability-guidance.is-blocked{color:#9a7019}.winner-card{padding:40px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#6244bf,#8b6be9);box-shadow:var(--shadow);text-align:center}.winner-card span{font-size:43px}.winner-card h2{margin:9px 0 5px;font-family:Fredoka,sans-serif;font-size:30px}.winner-card p{margin:0 0 20px;color:#ffffffbf;font-size:11px}.portal-toast-region{position:fixed;z-index:100;right:22px;top:20px;display:grid;gap:8px}.portal-toast{min-width:260px;max-width:370px;padding:13px 15px;color:#fff;border-radius:11px;background:#25283c;box-shadow:0 13px 35px #1414233d;font-size:10px;font-weight:700;animation:toast-in .18s ease}.portal-toast.error{border-left:4px solid var(--coral)}.portal-toast.success{border-left:4px solid var(--green)}@keyframes toast-in{0%{opacity:0;transform:translate(10px)}}.remote-action-replay{position:fixed;z-index:210;top:max(18px,env(safe-area-inset-top,0px));left:50%;display:grid;width:min(520px,calc(100vw - 28px));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 16px;color:#fff;border:3px solid rgba(255,255,255,.7);border-radius:16px;background:linear-gradient(135deg,#22283f,#3e4772);box-shadow:0 18px 55px #13152559;opacity:0;transform:translate(-50%,-18px);transition:.18s ease;pointer-events:none}.remote-action-replay.is-visible{opacity:1;transform:translate(-50%)}.remote-action-replay>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#ffffff21;font-size:22px}.remote-action-replay small,.remote-action-replay strong{display:block}.remote-action-replay small{color:#aeb9ee;font-size:7px;font-weight:900;letter-spacing:1px}.remote-action-replay strong{margin-top:2px;font-family:Fredoka,sans-serif;font-size:14px}.remote-action-replay p{margin:2px 0 0;color:#e2e5f5;font-size:8px;line-height:1.4}@media(max-width:960px){.hero{min-height:540px;grid-template-columns:1fr;padding:50px}.hero-art{display:none}.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.play-grid,.lobby-grid,.board{grid-template-columns:1fr}.battle-center{position:static;order:2}.team-panel.enemy{order:3}.team-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.board-controls-active{grid-template-columns:1fr}.board-action-buttons{grid-column:1}.team-organizer-layout{grid-template-columns:1fr}.setup-catalog-card{flex:0 0 clamp(108px,22vw,142px);scroll-snap-align:start;scroll-snap-stop:always}}@media(max-width:960px){.ability-panel{grid-column:1;grid-row:auto}.ability-list{grid-template-columns:1fr}.board-controls-active .action-block-explanation{grid-column:1}}@media(max-width:680px){.portal-header,#portal-app,.portal-footer{width:min(100% - 24px,1180px)}.portal-header{min-height:76px}.portal-brand small{display:none}.nav-link:not(.nav-primary),#admin-nav{display:none}.hero{min-height:560px;padding:34px 24px;border-radius:22px}.hero h1{font-size:45px}.hero-actions{align-items:stretch;flex-direction:column}.feature-strip{grid-template-columns:1fr}.auth-form-wrap{padding:36px 22px}.auth-layout{min-height:580px;border-radius:20px}.page-heading{align-items:flex-start;flex-direction:column}.play-grid{gap:11px}.play-card{min-height:220px;padding:23px}.room-row{grid-template-columns:48px minmax(100px,1fr) auto}.room-status{display:none}.room-heading{align-items:flex-start;flex-direction:column}.seats{grid-template-columns:1fr;margin:28px auto}.versus{margin:auto}.waiting-card{padding:23px}.waiting-actions{flex-direction:column}.team-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-footer{align-items:flex-start;flex-direction:column;justify-content:center}.portal-toast-region{left:12px;right:12px}.portal-toast{min-width:0;max-width:none}.tabletop-shell{margin-inline:-6px;padding:7px}.board-controls{align-items:stretch;flex-direction:column}.board-selection{width:100%}.board-action-buttons{display:grid;width:100%;grid-template-columns:1fr 1fr}.board-action-buttons button{width:100%}.team-organizer-overlay{padding:0;place-items:stretch}.team-organizer{max-height:100vh;border:0;border-radius:0}.team-organizer>header{padding:18px}.team-organizer-layout{padding:10px}.setup-board,.setup-library{padding:12px}.setup-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-catalog-card{flex-basis:clamp(116px,39vw,148px)}.setup-carousel-tools>small{display:none}.team-organizer>footer{align-items:stretch;flex-wrap:wrap}.setup-progress{width:100%}.team-organizer>footer button{flex:1}.game-notice-card{padding:31px 22px}.game-notice-card h2{font-size:28px}}@media(max-width:680px){.inventory-drawer{top:100px;width:min(310px,calc(100vw - 44px))}.inventory-tab{left:-44px;width:44px}.inventory-panel{max-height:calc(100vh - 120px);padding:15px}.inventory-slots .resource-card,.inventory-empty{min-height:112px}}@media(max-width:960px){.rules-hero{grid-template-columns:1fr}.rules-goal-card{display:none}.rules-quick-start,.rules-detail-grid,.combat-steps{grid-template-columns:1fr 1fr}}body.is-game-view{background:#d8d9dc}body.is-game-view #portal-app{width:calc(100% - 20px);max-width:none}body.is-game-view .portal-header{min-height:58px}body.is-game-view .room-heading{display:none}body.is-game-view .game-banner{margin-bottom:8px;padding:10px 14px}body.is-game-view .prototype-warning{display:none}body.is-game-view .tabletop-shell{overflow:auto;padding:12px}body.is-game-view .dw-board{width:100%;min-width:1180px;zoom:1;grid-template-columns:110px 245px minmax(480px,1fr) 245px 110px;gap:12px}body.is-game-view .team-square{min-height:0}body.is-game-view .team-square-grid{gap:9px;padding:10px}body.is-game-view .team-board-slot{min-height:118px;padding:5px}body.is-game-view .board-character{min-height:108px}body.is-game-view .board-character img{height:52px}body.is-game-view .action-board-slot{min-height:108px;padding:5px}body.is-game-view .action-square-grid{gap:9px;padding:10px}body.is-game-view .board-zone>header{min-height:30px;padding:7px 9px}body.is-game-view .board-utilities,body.is-game-view .shared-zone-stack{gap:10px}body.is-game-view .board-utilities .trinket-zone .resource-card{width:100%;min-height:0;height:48px}body.is-game-view .board-utilities .duel-zone .resource-card{width:auto;min-height:0;height:58px;margin:auto}body.is-game-view .trinket-zone>div,body.is-game-view .duel-zone>div{gap:4px;padding:4px}body.is-game-view .intermission-zone .resource-card{width:auto;height:clamp(72px,11vh,92px);margin:auto}body.is-game-view .intermission-zone>div{padding:4px 22%}body.is-game-view .lethal-zone .resource-card{width:auto;height:clamp(62px,9vh,78px);margin:auto}body.is-game-view .lethal-zone>div{padding:4px 18%}body.is-game-view .item-zone-content{grid-template-columns:50px 50px minmax(0,1fr);padding:5px}body.is-game-view .item-zone .resource-card{height:58px}body.is-game-view .board-history{max-height:80px;padding:7px}.action-square-grid .action-board-slot:nth-child(4n+2){border-right:5px solid rgba(54,21,30,.7);border-radius:7px 1px 1px 7px}.action-square-grid .action-board-slot:nth-child(4n+3){border-left:5px solid rgba(54,21,30,.7);border-radius:1px 7px 7px 1px}.board-controls-simple{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px;background:#aeb0b5;border-color:#8e9095}.turn-major-button{min-height:54px;font-size:13px;font-weight:900}.resource-card.is-unavailable,.selection-ability.is-unavailable{position:relative;overflow:hidden}.resource-card.is-unavailable:after,.selection-ability.is-unavailable:after{position:absolute;z-index:4;inset:0;content:"";background:#04050994;pointer-events:none}.resource-card.is-unavailable>i{position:absolute;z-index:5;inset:50% 3px auto;color:#fff;font-size:7px;font-style:normal;font-weight:900;text-align:center;transform:translateY(-50%)}.selection-overlay{position:fixed;z-index:120;inset:0;display:grid;overflow:auto;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));place-items:center;background:#12131ab3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.team-organizer-overlay+.selection-overlay{z-index:180}.selection-dialog{position:relative;isolation:isolate;display:grid;width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 38px);max-height:calc(100dvh - 38px);overflow:auto;grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr);gap:24px;padding:25px;border:4px solid #292a35;border-radius:21px;background:#f4f4f6;box-shadow:0 28px 90px #0000006b}.selection-close{position:absolute;z-index:10;top:12px;right:12px;display:grid;width:46px;height:46px;place-items:center;color:#fff;border:2px solid rgba(255,255,255,.7);border-radius:50%;background:#292a35;box-shadow:0 5px 16px #0000003d;font-size:25px;cursor:pointer;touch-action:manipulation}.selection-card-art{display:grid;overflow:hidden;min-height:320px;aspect-ratio:611/853;place-items:center;border:4px solid #393641;border-radius:16px;background:linear-gradient(145deg,#d8d4e8,#fff)}.selection-card-art img{width:100%;height:100%;object-fit:contain}.selection-card-art>span{font-size:64px}.selection-character-preview h2,.resource-selection-copy h2{margin:12px 0 8px;font-family:Fredoka,sans-serif;font-size:27px}.selection-stats{display:flex;flex-wrap:wrap;gap:7px}.selection-stats .stat-bar{flex:1 1 145px}.attack-stat{padding:7px 9px;border-radius:999px;background:#fff;font-size:9px;font-weight:900}.status-summary{color:#8f3c58;font-size:9px;font-weight:800}.selection-abilities{display:grid;align-content:start;gap:9px;padding:10px 4px}.selection-abilities>small,.resource-selection-copy>small{color:#7456c8;font-size:8px;font-weight:900;letter-spacing:1px}.selection-abilities h3{margin:0 0 5px;font-family:Fredoka,sans-serif;font-size:24px}.selection-ability{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:12px;color:#292637;border:2px solid #ded9e8;border-radius:13px;background:#fff;text-align:left;cursor:pointer}.selection-ability:hover{border-color:#7658d1;transform:translateY(-1px)}.selection-ability>strong{color:#fff;padding:10px 6px;border-radius:9px;background:#7658d1;text-align:center}.selection-ability>span{font-size:10px;line-height:1.45}.selection-ability>em{color:#7c728f;font-size:7px;font-style:normal;font-weight:900}.modal-choice-row{display:flex;gap:7px;padding:0 8px 6px}.modal-choice-row button{flex:1;padding:8px;border:1px solid #d8d0ed;border-radius:9px;background:#eee8ff;color:#4a347e;cursor:pointer}.modal-choice-row strong,.modal-choice-row small{display:block}.resource-selection{grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr)}.resource-selection-copy{align-self:center}.resource-selection-copy p{font-size:13px;line-height:1.65}.resource-dice-rule{margin:12px 0;padding:10px 12px;color:#614911;border:1px solid #ead28f;border-radius:10px;background:#fff8dc}.resource-dice-rule strong,.resource-dice-rule small{display:block}.resource-dice-rule strong{font-size:10px}.resource-dice-rule small{margin-top:4px;font-size:7px;line-height:1.45}.selection-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.selection-actions button{min-width:120px;min-height:43px}.dyle-warning{padding:14px;color:#7b341f;border:2px solid #e8a485;border-radius:11px;background:#fff0e6;font-weight:900}.setup-info-note{margin-top:14px;padding:12px;border-radius:10px;background:#eee8ff;color:#5e4795;font-size:9px;font-weight:800}.board-character{position:relative}.board-character.is-targeting-source{border-color:#ffd65a;box-shadow:0 0 0 4px #ffd65a8c;animation:target-source-pulse 1.2s ease-in-out infinite}.board-character.is-reachable-target{z-index:2;border-color:#57d79a;box-shadow:0 0 0 4px #57d79a7a,0 8px 20px #14684847;cursor:crosshair}.board-character.is-unreachable-target{filter:grayscale(.85) brightness(.48);cursor:not-allowed}.board-character.is-unreachable-target:after{position:absolute;z-index:6;inset:0;content:"FUERA DE ALCANCE";display:grid;place-items:center;padding:4px;color:#fff;background:#0a0a0e80;font-size:6px;font-weight:900;text-align:center;pointer-events:none}.range-targeting-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px;padding:11px 14px;color:#fff;border:2px solid #2b7458;border-radius:13px;background:linear-gradient(135deg,#184f3d,#287c5d);box-shadow:0 10px 24px #165c4233}.range-targeting-guide>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#ffffff24;font-size:20px}.range-targeting-guide small,.range-targeting-guide strong{display:block}.range-targeting-guide small{color:#9fe4c5;font-size:7px;font-weight:900;letter-spacing:1px}.range-targeting-guide strong{margin-top:2px;font-family:Fredoka,sans-serif;font-size:14px}.range-targeting-guide p{margin:2px 0 0;color:#d7f4e7;font-size:8px}.range-targeting-guide em{padding:7px 9px;border-radius:999px;background:#fff;color:#247255;font-size:8px;font-style:normal;font-weight:900}@keyframes target-source-pulse{50%{transform:translateY(-3px);box-shadow:0 0 0 6px #ffd65a47}}.card-effect-particles{position:absolute;z-index:8;inset:8% 4%;display:flex;align-items:center;justify-content:space-around;pointer-events:none;font-size:17px;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.25);animation:effect-rise 1.5s ease-out forwards}.effect-health,.effect-stamina{color:#31c96a}.effect-defense,.effect-stealth{color:#2a8ff2}.effect-extraction{color:#a64cf0}.effect-skillcheck{color:#ff8b30}.effect-speed{color:#ffd32c}.effect-damage{color:#ef3340}.does-shake{animation:card-shake .45s ease 2}.does-jump{animation:card-jump .5s ease 2}@keyframes card-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px) rotate(-1deg)}75%{transform:translate(6px) rotate(1deg)}}@keyframes card-jump{0%,to{transform:translateY(0)}50%{transform:translateY(-13px)}}@keyframes effect-rise{0%{opacity:0;transform:translateY(15px) scale(.8)}25%{opacity:1}to{opacity:0;transform:translateY(-20px) scale(1.15)}}.team-square,.board-utilities{position:relative}.is-disconnected{filter:saturate(.35)}.board-character.is-disconnected-card:after{position:absolute;z-index:7;inset:0;content:"";background:#020307ad;pointer-events:none}.connection-recovery{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:10px;color:#fff;background:#030408b3;text-align:center}.connection-recovery strong{font-size:13px}.duel-selection-gallery{display:grid;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px;max-height:52vh;overflow:auto;padding:6px}.duel-selection-controls{scroll-margin-top:24px;transition:border-color .2s ease,box-shadow .2s ease}.duel-selection-controls:focus{outline:0;border-color:#8b6dde;box-shadow:0 0 0 4px #7152d524,var(--shadow)}.duel-choice-card{overflow:hidden;aspect-ratio:608/855;padding:0;border:3px solid transparent;border-radius:10px;background:#171719;color:#fff;cursor:pointer}.duel-choice-card img{width:100%;height:calc(100% - 31px);object-fit:contain;background:#eee}.duel-choice-card strong{display:block;padding:7px 4px;font-size:8px}.duel-choice-card.is-selected{border-color:#7957dd;box-shadow:0 0 0 3px #7957dd3b}.duel-zone .resource-card{min-height:0;aspect-ratio:608/855}.stat-bar{display:grid!important;gap:2px;min-width:0}.stat-bar small{display:flex!important;justify-content:space-between;gap:4px;margin:0!important;color:#555667!important;font-size:6px!important;font-weight:800;line-height:1}.stat-bar i{display:block;height:5px;overflow:hidden;border-radius:999px;background:#e5e5ea}.stat-bar i em{display:block;height:100%;border-radius:inherit;background:#e14f5b;transition:width .28s ease}.stat-bar-defense i em{background:#408ee4}.stat-bar-stamina i em{background:#43b96f}.stat-bar-reaction i em{background:#f39a37}.board-character-copy{display:grid;gap:3px}.board-character-copy>strong{margin-bottom:2px}.team-board-slot[data-return-team-slot]{cursor:pointer}.team-board-slot[data-return-team-slot]:hover{background:#fff;box-shadow:inset 0 0 0 3px #6848c74d}@keyframes summary-in{0%{opacity:0;transform:translateY(-8px)}}.duel-result-dialog{width:min(1080px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto;padding:22px;border:4px solid #292637;border-radius:22px;background:#f7f4ff;text-align:center;box-shadow:0 28px 90px #00000073}.duel-result-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px;text-align:left}.duel-result-heading small{color:#7559c8;font-size:8px;font-weight:900;letter-spacing:1.5px}.duel-result-heading h2{margin:3px 0;font-family:Fredoka,sans-serif;font-size:31px}.duel-result-heading p{margin:0;color:#6f697e;font-size:9px}.duel-result-crown{display:block;color:#f0b92d;font-size:42px}.duel-arena-board{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:5px solid #302a32;border-radius:17px;background:linear-gradient(145deg,#ef3d49,#c62e3b);box-shadow:inset 0 0 0 2px #ffffff29}.duel-arena-board>section>header{margin-bottom:7px;color:#fff;font-size:9px;font-weight:900;text-transform:uppercase}.duel-arena-board>section>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.duel-versus{display:grid;width:48px;height:48px;place-items:center;color:#fff;border:3px solid #fff;border-radius:50%;background:#302a32;font-family:Fredoka,sans-serif;font-size:15px}.duel-arena-card{display:grid;min-width:0;gap:5px;padding:8px;border:3px solid rgba(255,255,255,.55);border-radius:11px;background:#fff;text-align:left;animation:duel-card-enter .32s ease both}.duel-arena-card.is-winning-side{border-color:#ffdc65;box-shadow:0 0 0 3px #ffdc6552}.duel-arena-card.is-defeated{filter:saturate(.35);opacity:.72}.duel-arena-card>small{color:#857b93;font-size:6px;font-weight:900}.duel-arena-card>strong{overflow:hidden;font-family:Fredoka,sans-serif;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.duel-arena-art{display:grid;height:104px;overflow:hidden;place-items:center;border-radius:7px;background:#e9e5f3}.duel-arena-art img{width:100%;height:100%;object-fit:contain}.duel-arena-art span{font-size:28px}.duel-event-timeline{margin:13px 0;overflow:hidden;border:1px solid #ddd6eb;border-radius:13px;background:#fff;text-align:left}.duel-event-timeline>header{display:flex;justify-content:space-between;padding:10px 12px;color:#fff;background:#39344a}.duel-event-timeline>header strong{font-size:10px}.duel-event-timeline>header small{color:#d9d2eb;font-size:7px}.duel-event-timeline>div{display:grid;max-height:220px;overflow:auto}.duel-event-timeline article{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:8px;padding:8px 11px;border-top:1px solid #eeeaf4;opacity:0;animation:duel-event-reveal .28s calc(var(--event-index) * .16s) ease forwards}.duel-event-timeline article span{display:grid;width:22px;height:22px;place-items:center;color:#fff;border-radius:50%;background:#785bd0;font-size:7px;font-weight:900}.duel-event-timeline article p,.duel-event-timeline>div>p{margin:0;color:#5e5968;font-size:8px;line-height:1.45}.duel-event-timeline>div>p{padding:12px}.duel-dice-result{margin:8px 0 12px;color:#6d578f;font-size:9px;font-weight:900}.duel-result-dialog>button{min-width:180px}.duel-result-dialog.is-resolving .duel-result-crown{opacity:.18;filter:grayscale(1);animation:duel-crown-wait 1s ease-in-out infinite alternate}.duel-result-dialog.is-resolving .duel-dice-result{opacity:.35;filter:blur(3px)}.duel-result-dialog.is-resolved .duel-result-crown{animation:duel-crown-reveal .6s cubic-bezier(.2,.9,.25,1.2) both}.duel-result-dialog.is-resolved .is-winning-side{animation:duel-winner-reveal .62s cubic-bezier(.2,.9,.2,1.18) both}@keyframes duel-card-enter{0%{opacity:0;transform:translateY(8px) scale(.97)}}@keyframes duel-event-reveal{to{opacity:1}}@keyframes duel-crown-wait{to{transform:rotate(8deg) scale(.9)}}@keyframes duel-crown-reveal{0%{opacity:0;transform:translateY(-14px) rotate(-18deg) scale(.4)}}@keyframes duel-winner-reveal{45%{transform:translateY(-7px) scale(1.04)}}.duel-intel-cards{display:grid;grid-template-columns:repeat(2,minmax(110px,180px));gap:12px}.duel-intel-cards .selection-card-art{min-height:170px}.winner-card{position:relative;overflow:hidden}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{--x:calc((var(--i) * 41) % 100);position:absolute;top:-12%;left:calc(var(--x) * 1%);width:8px;height:15px;border-radius:2px;background:hsl(calc(var(--i) * 47),90%,62%);animation:confetti-fall 2.6s calc(var(--i) * -.08s) linear infinite}@keyframes confetti-fall{to{transform:translate(calc((var(--i) % 5 - 2) * 26px),520px) rotate(720deg)}}body{background:radial-gradient(circle at 8% 8%,rgba(53,137,129,.11),transparent 24%),radial-gradient(circle at 92% 4%,rgba(130,67,166,.13),transparent 26%),repeating-linear-gradient(0deg,rgba(50,42,56,.018) 0 1px,transparent 1px 5px),#f2eddf}.hero{border:5px solid #272330;background:radial-gradient(ellipse at 72% 37%,rgba(250,222,143,.21),transparent 25%),radial-gradient(circle at 14% 24%,rgba(255,255,255,.1),transparent 20%),repeating-radial-gradient(circle at 76% 50%,rgba(255,255,255,.025) 0 2px,transparent 2px 9px),linear-gradient(135deg,#262331,#49345e 54%,#243d42);box-shadow:0 28px 75px #2a1f3247,inset 0 0 0 2px #efdcb22e}.hero:before{width:420px;height:420px;right:-90px;top:-190px;border-color:#f4d37e29;box-shadow:0 0 80px #f4d37e14}.hero:after{width:260px;height:260px;right:10px;top:-125px;border-color:#f4d37e1f}.hero-kicker{color:#f6e4b4;border:1px solid rgba(246,228,180,.28);background:#14121a4d}.hero h1{color:#fff8e8;text-shadow:0 4px 0 rgba(25,19,33,.28)}.hero p{color:#d9d0c5}.hero-art{min-width:450px;border-radius:34px;background:radial-gradient(ellipse at center,rgba(244,211,126,.14),transparent 62%);perspective:900px}.gardenview-sign{position:absolute;z-index:5;top:2px;left:50%;display:flex;min-width:245px;min-height:38px;align-items:center;justify-content:center;gap:10px;padding:0 16px;color:#2f2932;border:3px solid #28232d;border-radius:8px;background:#f0ddb0;box-shadow:0 8px #17141b,0 16px 28px #0d0a1040;font-family:Fredoka,sans-serif;font-size:13px;font-weight:900;letter-spacing:2.6px;transform:translate(-50%) rotate(-1deg)}.gardenview-sign i{width:7px;height:7px;border-radius:50%;background:#c44757;box-shadow:0 0 10px #f3c979}.hero-card{width:172px;height:244px;align-content:space-between;padding:20px 14px 15px;color:#282330;border:7px solid #efe1be;border-radius:17px;background:#f8edcf;box-shadow:0 20px 34px #0c09105c,inset 0 0 0 3px #302b33;font-size:initial}.hero-card:before{position:absolute;inset:11px;content:"";border:2px solid rgba(43,37,47,.45);border-radius:8px;pointer-events:none}.hero-card small,.hero-card strong,.hero-card em{position:relative;z-index:1;display:block;font-family:Fredoka,sans-serif;text-align:center}.hero-card small{font-size:10px;letter-spacing:1.8px}.hero-card>span{position:relative;z-index:1;display:grid;width:88px;height:88px;margin:auto;place-items:center;border:4px solid #2c2831;border-radius:50%;background:#e8d9b7;font-family:Fredoka,sans-serif;font-size:43px}.hero-card strong{font-size:15px;text-transform:uppercase}.hero-card em{padding:5px 4px;color:#fff;border-radius:5px;background:#302a36;font-size:6px;font-style:normal;letter-spacing:1px}.hero-card-toon{left:0;top:105px;color:#265d5b;background:#c7e4d8;transform:rotate(-12deg) translateZ(-25px)}.hero-card-toon>span{color:#367c75;background:#e4f2e7}.hero-card-main{left:30%;top:58px;z-index:3;color:#3c2842;background:#efe2be;transform:rotate(1deg) translateZ(30px)}.hero-card-main:after{position:absolute;z-index:0;right:11px;bottom:11px;left:11px;height:27px;content:"";border-radius:5px;background:linear-gradient(90deg,#e35362,#e0b43d,#55a77e,#4b8fbb,#8651bd,#e35362);background-size:200% 100%;animation:challenge-shimmer 3s linear infinite}.hero-card-main>span{color:#b74458;background:conic-gradient(#e85b67,#e6c24d,#75b883,#579bc0,#9e67c4,#e85b67)}.hero-card-main em{background:transparent}.hero-card-twisted{left:60%;top:112px;color:#fff2e4;border-color:#d6c8ad;background:#763b4a;transform:rotate(13deg) translateZ(-15px)}.hero-card-twisted>span{color:#f0cf9f;border-color:#e8d8b8;background:#3a2934}.hero-card-twisted:before{border-color:#ffeed280}.hero-table-dice{position:absolute;z-index:6;right:4px;bottom:22px;display:flex;align-items:center;gap:6px;padding:8px 10px;color:#f7e9c5;border:3px solid #1f1c24;border-radius:12px;background:#38313c;box-shadow:0 10px 22px #09070c59;transform:rotate(-4deg)}.hero-table-dice .die-face{width:34px;height:34px}.hero-table-dice b{margin-left:2px;font-family:Fredoka,sans-serif;font-size:9px;letter-spacing:1px}@keyframes challenge-shimmer{to{background-position:200% 0}}.dice-ceremony-overlay{position:fixed;z-index:260;inset:0;display:grid;overflow:auto;padding:max(20px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));place-items:center;background:radial-gradient(circle at center,rgba(90,61,126,.32),transparent 38%),#0e0c14e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:notice-fade .2s ease both}.dice-ceremony-overlay.is-closing{pointer-events:none;animation:notice-fade-out .22s ease both}.dice-ceremony-stage{position:relative;isolation:isolate;width:min(790px,100%);overflow:hidden;padding:42px 42px 34px;color:#fff8e9;border:6px solid #1e1a22;border-radius:25px;background:radial-gradient(circle at 50% 34%,rgba(242,211,126,.2),transparent 25%),linear-gradient(145deg,#4c304f,#2d2637 55%,#1f3336);box-shadow:0 34px 100px #0000009e,inset 0 0 0 2px #f6dea930;text-align:center}.dice-ceremony-stage:before{position:absolute;z-index:-1;inset:12px;content:"";border:2px solid rgba(242,217,164,.23);border-radius:15px}.dice-ceremony-stage header{position:relative;z-index:3}.dice-ceremony-stage header small{color:#e3c77d;font-size:8px;font-weight:900;letter-spacing:2px}.dice-ceremony-stage header h2{margin:7px 0 4px;font-family:Fredoka,sans-serif;font-size:clamp(27px,5vw,42px)}.dice-ceremony-stage header p{margin:0;color:#d2c9d4;font-size:10px}.dice-stage-curtain{position:absolute;z-index:2;top:0;bottom:0;width:52%;background:repeating-linear-gradient(90deg,#6d2638 0 38px,#8f3446 38px 68px,#5e1f30 68px 92px);box-shadow:inset 0 0 35px #00000073;transition:transform .75s cubic-bezier(.6,.02,.2,1);pointer-events:none}.dice-stage-curtain.left{left:0;transform-origin:left}.dice-stage-curtain.right{right:0;transform-origin:right}.dice-ceremony-overlay.is-rolling .dice-stage-curtain.left{transform:translate(-92%)}.dice-ceremony-overlay.is-rolling .dice-stage-curtain.right{transform:translate(92%)}.dice-ceremony-overlay.is-revealed .dice-stage-curtain.left{transform:translate(-110%)}.dice-ceremony-overlay.is-revealed .dice-stage-curtain.right{transform:translate(110%)}.dice-showdown{position:relative;z-index:3;display:grid;grid-template-columns:1fr 62px 1fr;align-items:center;gap:14px;margin:26px 0 14px}.dice-showdown-vs{display:grid;width:58px;height:58px;place-items:center;color:#302837;border:4px solid #f8e8bf;border-radius:50%;background:#e4bb58;box-shadow:0 0 0 6px #e4bb5821;font-family:Fredoka,sans-serif;font-size:16px}.dice-contender{position:relative;min-width:0;padding:21px 15px 18px;border:3px solid rgba(242,225,188,.26);border-radius:16px;background:#0f0d1457;transition:.38s ease}.dice-contender>small,.dice-contender>strong,.dice-contender>b,.dice-contender>em{display:block}.dice-contender>small{color:#c7b4cb;font-size:7px;font-weight:900;letter-spacing:1.3px}.dice-contender>strong{margin-top:3px;overflow:hidden;font-family:Fredoka,sans-serif;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.ceremony-dice-pair{display:flex;min-height:92px;align-items:center;justify-content:center;gap:12px;margin:12px 0 5px;perspective:500px}.ceremony-dice-pair .die-face{width:66px;height:66px;padding:11px;border-radius:13px;box-shadow:inset 0 -6px #d3cfd2,0 12px 19px #00000059}.ceremony-dice-pair .die-face i{width:10px;height:10px}.dice-contender>b{overflow:hidden;max-height:0;opacity:0;font-family:Fredoka,sans-serif;font-size:34px;transition:.28s ease}.dice-contender>em{min-height:17px;margin-top:4px;color:#e5c96f;font-size:8px;font-style:normal;font-weight:900;letter-spacing:1.2px}.dice-ceremony-overlay.is-rolling .ceremony-dice-pair .die-face{filter:blur(1.8px);animation:ceremony-dice-roll .42s linear infinite}.dice-ceremony-overlay.is-rolling .ceremony-dice-pair .die-face:nth-child(2){animation-direction:reverse;animation-duration:.36s}.dice-ceremony-overlay.is-revealed .dice-contender>b{max-height:48px;opacity:1}.dice-ceremony-overlay.is-revealed .ceremony-dice-pair .die-face{animation:dice-land .55s cubic-bezier(.2,.9,.2,1.25) both}.dice-contender.is-winner{color:#302818;border-color:#f3d26e;background:linear-gradient(145deg,#fff0a9,#d7a83f);box-shadow:0 0 0 5px #f3d26e2b,0 15px 34px #0000004d;transform:translateY(-7px) scale(1.025)}.dice-contender.is-winner>small,.dice-contender.is-winner>em{color:#6a4a12}.dice-contender.is-loser{opacity:.54;filter:grayscale(.65);transform:scale(.97)}.dice-ceremony-result{position:relative;z-index:3;min-height:42px;color:#f7d878;font-family:Fredoka,sans-serif;font-size:clamp(19px,4vw,30px);opacity:0;transform:translateY(8px);transition:.35s .2s ease}.is-revealed .dice-ceremony-result{opacity:1;transform:none}.dice-ceremony-stage>button{position:relative;z-index:3;min-width:190px;margin-top:5px;opacity:0;transform:translateY(6px)}.dice-ceremony-stage>button:not(:disabled){opacity:1;transform:none}@keyframes ceremony-dice-roll{0%{transform:rotate(-18deg) rotateY(0) scale(.88)}50%{transform:rotate(17deg) rotateY(180deg) scale(1.08)}to{transform:rotate(-18deg) rotateY(360deg) scale(.88)}}@keyframes dice-land{0%{transform:translateY(-30px) rotate(28deg) scale(.7)}65%{transform:translateY(5px) rotate(-8deg) scale(1.08)}to{transform:none}}.game-notice-card{position:relative;isolation:isolate;overflow:hidden;border-color:#27212c;background:linear-gradient(180deg,#fbf3df,#f4e7c8);box-shadow:0 28px 80px #0d0a1f7a,inset 0 0 0 2px #3c2d361a}.game-notice-card:before{position:absolute;z-index:-1;inset:13px;content:"";border:2px solid rgba(65,48,59,.18);border-radius:15px}.notice-marquee-lights{position:absolute;top:9px;right:15px;left:15px;display:flex;justify-content:space-around}.notice-marquee-lights i{width:7px;height:7px;border-radius:50%;background:#d3a742;box-shadow:0 0 9px #eec050cc;animation:marquee-blink 1.1s calc(var(--i,0) * .06s) ease-in-out infinite alternate}.notice-challenge-stripe{position:absolute;z-index:-1;right:0;bottom:0;left:0;height:8px;background:linear-gradient(90deg,#db5360,#e1b94a,#5da577,#4d8fb3,#8b5bb4,#db5360);background-size:200% 100%;animation:challenge-shimmer 3s linear infinite}.game-notice-icon{border:4px solid #2c2630;border-radius:50%;box-shadow:0 0 0 7px #322a3614,0 12px 28px #3d2d4840}.game-notice-overlay.is-round .game-notice-card{background:radial-gradient(circle at 50% 16%,rgba(122,88,173,.12),transparent 25%),linear-gradient(180deg,#fbf1d7,#ead7ac)}.game-notice-overlay.is-round .game-notice-icon{color:#f6ddb0;background:linear-gradient(145deg,#50345d,#2e2836)}.game-notice-overlay.is-victory .game-notice-card{border-color:#3c3027;background:radial-gradient(circle at 50% 18%,rgba(245,205,91,.3),transparent 25%),linear-gradient(180deg,#fff6d6,#dcefdc)}.game-notice-overlay.is-defeat .game-notice-card{background:linear-gradient(180deg,#eee8dc,#cfcbd0)}.notice-showdown{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:8px;margin:0 auto 23px}.notice-showdown article{position:relative;display:grid;min-width:0;padding:10px;border:2px solid #d4c6a3;border-radius:12px;background:#ffffff8f}.notice-showdown article small,.notice-showdown article strong{display:block}.notice-showdown article small{color:#887951;font-size:6px;font-weight:900;letter-spacing:1px}.notice-showdown article strong{overflow:hidden;margin-top:3px;font-family:Fredoka,sans-serif;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.notice-showdown article span{position:absolute;top:-10px;right:-4px;color:#d2a72f;font-size:22px;transform:rotate(12deg)}.notice-showdown>b{color:#5b4a55;font-family:Fredoka,sans-serif;font-size:12px}.notice-showdown .is-winner{border-color:#d3a932;background:#fff0b8}.notice-showdown .is-runner-up{opacity:.72;filter:grayscale(.45)}.notice-confetti{position:absolute;z-index:5;inset:0;overflow:hidden;pointer-events:none}.notice-confetti i{--x:calc((var(--i) * 37) % 100);position:absolute;top:-10%;left:calc(var(--x) * 1%);width:7px;height:13px;border-radius:2px;background:hsl(calc(var(--i) * 53),74%,58%);animation:confetti-fall 3s calc(var(--i) * -.07s) linear infinite}@keyframes marquee-blink{to{opacity:.38;transform:scale(.72)}}.match-result-card{isolation:isolate;width:min(850px,100%);min-height:590px;margin:auto;padding:66px 54px 48px;color:#302b34;border:6px solid #27222c;border-radius:28px;background:radial-gradient(circle at 50% 12%,rgba(235,193,76,.22),transparent 23%),linear-gradient(180deg,#fbf2db,#ead9b9);box-shadow:0 30px 85px #3226373b,inset 0 0 0 3px #ffffff6b;text-align:center}.match-result-card:before{position:absolute;z-index:-1;inset:16px;content:"";border:2px solid rgba(61,49,57,.2);border-radius:16px}.match-result-rainbow{position:absolute;z-index:-1;right:0;bottom:0;left:0;height:12px;background:linear-gradient(90deg,#d85360,#ddb74b,#68a879,#5792b0,#8a5eb2,#d85360);background-size:200% 100%;animation:challenge-shimmer 3s linear infinite}.match-result-lights{position:absolute;top:15px;right:24px;left:24px;display:flex;justify-content:space-between}.match-result-lights i{width:9px;height:9px;border-radius:50%;background:#dfb84c;box-shadow:0 0 11px #dfb84cbf;animation:marquee-blink 1.2s ease-in-out infinite alternate}.match-result-emblem{display:grid;width:94px;height:94px;margin:0 auto 15px;place-items:center;color:#fff2bd;border:5px solid #302a34;border-radius:50%;background:linear-gradient(145deg,#4f3756,#2d2932);box-shadow:0 0 0 8px #42353c14,0 18px 36px #33253733;font-size:45px}.match-result-card>small{color:#8c7131;font-size:8px;font-weight:900;letter-spacing:2px}.match-result-card>h2{margin:7px 0 5px;font-family:Fredoka,sans-serif;font-size:42px}.match-result-card>p{margin:0;color:#756c70;font-size:11px}.match-result-versus{display:grid;grid-template-columns:1fr 55px 1fr;align-items:center;gap:12px;max-width:630px;margin:28px auto 15px}.match-result-versus article{display:grid;min-width:0;padding:17px;border:2px solid #cdbd98;border-radius:15px;background:#ffffff94}.match-result-versus article>span{font-size:24px}.match-result-versus article>small{margin-top:4px;color:#8a7b54;font-size:7px;font-weight:900;letter-spacing:1.3px}.match-result-versus article>strong{overflow:hidden;margin-top:4px;font-family:Fredoka,sans-serif;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.match-result-versus .is-winner{border-color:#d5ac38;background:#fff0b4;box-shadow:0 10px 24px #704f1421;transform:translateY(-4px)}.match-result-versus .is-loser{opacity:.65;filter:grayscale(.6)}.match-result-versus>b{font-family:Fredoka,sans-serif;font-size:14px}.match-result-meta{display:flex;justify-content:center;gap:8px;margin-bottom:22px}.match-result-meta span{padding:6px 9px;color:#635963;border-radius:999px;background:#ffffff85;font-size:7px;font-weight:900}.match-result-card.is-defeat{background:linear-gradient(180deg,#eee8dc,#d4cdd1)}.match-result-card.is-victory .match-result-emblem{animation:victory-emblem 1.2s ease-in-out infinite alternate}@keyframes victory-emblem{to{transform:translateY(-5px) rotate(4deg);box-shadow:0 0 0 11px #e1b84721,0 24px 42px #3325373d}}@media(max-width:760px){body.is-game-view #portal-app{width:100%}body.is-game-view .dw-board{width:850px;min-width:850px;zoom:1}body.is-game-view .tabletop-shell{overflow:auto}.action-area-phase-controls{grid-template-columns:minmax(0,1fr) 150px;gap:8px;padding:9px}.action-area-phase-controls>button{min-width:0;width:100%}.selection-overlay{align-items:start;padding-top:max(14px,calc(env(safe-area-inset-top,0px) + 12px));padding-right:max(10px,env(safe-area-inset-right,0px));padding-bottom:max(14px,env(safe-area-inset-bottom,0px));padding-left:max(10px,env(safe-area-inset-left,0px))}.selection-dialog,.resource-selection{width:100%;max-height:calc(100vh - 26px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 26px);grid-template-columns:1fr;padding:62px 17px 17px}.selection-close{position:absolute;top:10px;right:10px;width:46px;height:46px}.selection-card-art{min-height:260px;max-height:48vh}.selection-ability{grid-template-columns:55px minmax(0,1fr)}.selection-ability>em{grid-column:2}.duel-arena-board{grid-template-columns:1fr}.duel-versus{margin:auto}}@media(max-width:680px){.dice-ceremony-stage{padding:34px 14px 26px}.dice-showdown{grid-template-columns:1fr 34px 1fr;gap:6px}.dice-showdown-vs{width:34px;height:34px;border-width:2px;font-size:9px}.dice-contender{padding:14px 7px}.dice-contender>strong{font-size:12px}.ceremony-dice-pair{min-height:68px;gap:5px}.ceremony-dice-pair .die-face{width:43px;height:43px;padding:7px;border-radius:9px}.ceremony-dice-pair .die-face i{width:7px;height:7px}.match-result-card{min-height:540px;padding:58px 16px 35px}.match-result-card>h2{font-size:32px}.match-result-versus{grid-template-columns:1fr 34px 1fr;gap:6px}.match-result-versus article{padding:12px 7px}.match-result-versus article>strong{font-size:12px}.match-result-meta{align-items:center;flex-direction:column}}@media(prefers-reduced-motion:reduce){.hero-card-main:after,.notice-challenge-stripe,.match-result-rainbow,.notice-confetti i,.confetti i,.match-result-lights i,.notice-marquee-lights i,.match-result-emblem,.dice-ceremony-overlay.is-rolling .ceremony-dice-pair .die-face{animation:none!important}.dice-stage-curtain,.dice-contender,.dice-ceremony-result{transition-duration:.01ms!important}}@media(max-width:760px){.team-wizard-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.team-wizard-step>header{grid-template-columns:auto minmax(0,1fr)}.team-wizard-step>header>strong{grid-column:1 / -1;justify-self:start}.wizard-choice-card{flex-basis:clamp(124px,39vw,154px)}.team-wizard-review>header{align-items:flex-start;flex-direction:column}.wizard-review-primary-actions{width:100%;justify-content:stretch}.wizard-review-primary-actions button{flex:1}.wizard-review-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.rules-hero{min-height:420px;padding:34px 24px;border-radius:22px}.rules-hero h1{font-size:40px}.rules-hero-actions{align-items:stretch;flex-direction:column}.rules-quick-start,.rules-family-grid,.rules-final-grid,.rules-layout{grid-template-columns:1fr}.rules-index-card{position:static}.rules-section{padding:24px 19px}.rules-detail-grid,.combat-steps{grid-template-columns:1fr}.rules-section-heading h2{font-size:22px}}.inventory-card-slot{display:grid;align-content:start;gap:5px;min-width:0}.inventory-card-slot .resource-card{width:100%}.inventory-card-slot>.portal-primary,.inventory-card-slot>.portal-secondary{min-height:27px;padding:5px 4px;font-size:7px}.duel-selection-controls .portal-secondary.is-selected{color:#4f329c;border-color:#8063d6;background:#eee8ff}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.team-organizer-category.is-active{color:#fff;border-color:#ff304f;background:linear-gradient(135deg,#ff304f,#9f1934);box-shadow:0 0 0 2px #ff304f47,0 0 22px #ff304f59}.team-organizer-search{display:flex;align-items:center;gap:8px;margin:0 18px 8px;padding:9px 12px;color:#7d778d;border:1px solid #ded9e8;border-radius:10px;background:#f1eff4}.team-organizer-search input{width:100%;color:var(--ink);border:0;outline:0;background:transparent;font-size:11px}.team-organizer-roster{margin:0 18px 18px;padding:12px;border:1px solid #e0ddea;border-radius:12px;background:#f7f5fa}.team-organizer-roster header{display:flex;justify-content:space-between;margin-bottom:8px;color:#6148ac;font-size:9px}.team-organizer-roster>div{display:flex;gap:7px;overflow:auto}.team-organizer-roster button{display:grid;min-width:55px;gap:4px;padding:4px;color:var(--ink);border:1px solid #ddd8e8;border-radius:8px;background:#fff;font-size:7px}.team-organizer-roster img{width:45px;height:54px;object-fit:cover;border-radius:5px}.selection-ability.is-selected{border-color:#ff304f;background:#fff0f2;box-shadow:0 0 0 3px #ff304f33}.selection-confirm-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e7e2ee}.selection-confirm-bar span{margin-right:auto;color:#a51f3c;font-size:8px;font-weight:900}.lethal-requirements{display:grid;gap:5px;margin-bottom:10px;padding:10px;color:#563a75;border:1px solid #ead8a8;border-radius:10px;background:#fff7df;font-size:8px}.lethal-requirements strong{color:#9f6c18;text-transform:uppercase;letter-spacing:.8px}body.is-game-view .tabletop-shell{border-color:#f4f4f4;border-radius:0;background:#050506;box-shadow:0 18px #050506,inset 0 0 0 2px #18181b;clip-path:polygon(2% 0,98% 0,100% 4%,100% 96%,98% 100%,2% 100%,0 96%,0 4%)}body.is-game-view .board-dice-tray{border-color:#f4f4f4;border-radius:0;background:#101014;box-shadow:inset 0 0 0 2px #050506}body.is-game-view .dw-board{grid-template-columns:150px 245px minmax(480px,1fr) 245px 150px}body.is-game-view .board-zone{border-color:#f4f4f4;border-radius:0}body.is-game-view .board-zone header{color:#fff;background:#111116}body.is-game-view .team-square.is-own{background:#315985}body.is-game-view .team-square.is-enemy{background:#7c2d35}body.is-game-view .trinket-zone{background:#b98232}body.is-game-view .duel-zone{background:#9b78d0}body.is-game-view .shared-zone-stack{gap:10px}body.is-game-view .intermission-zone{background:#f4f4f4}body.is-game-view .action-square{background:#08080b}body.is-game-view .lethal-zone{background:#b98232}body.is-game-view .item-zone.is-own,body.is-game-view .item-zone.is-enemy{background:#f4f4f4}body.is-game-view .board-history{border-color:#f4f4f4;border-radius:0;background:#08080b}body.is-game-view .board-controls{border-radius:0}
