@import "https://fonts.googleapis.com/css2?family=Rubik:wght@400;600;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{color:#2c2c2c;background:radial-gradient(circle at top,#fef9e7 0%,#f8f1df 45%,#efe4cc 100%);margin:0;font-family:Rubik,system-ui,-apple-system,sans-serif}button{font-family:inherit}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0, 0, var(--toastify-z-index));width:var(--toastify-toast-width);box-sizing:border-box;color:#fff;padding:4px;position:fixed}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (width<=480px){.Toastify__toast-container{width:100vw;margin:0;padding:0;left:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{min-height:var(--toastify-toast-min-height);box-sizing:border-box;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;z-index:0;direction:ltr;border-radius:4px;justify-content:space-between;margin-bottom:1rem;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{flex:auto;align-items:center;margin:auto 0;padding:6px;display:flex}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;flex-shrink:0;width:20px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (width<=480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{width:100%;height:5px;z-index:var(--toastify-z-index);opacity:.7;transform-origin:0;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate(-20px)}to{opacity:0;transform:translate(2000px)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate(20px)}to{opacity:0;transform:translate(-2000px)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translateY(-10px)}40%,45%{opacity:1;transform:translateY(20px)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translateY(10px)}40%,45%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateX(-20deg)}to{opacity:0;transform:perspective(400px)rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate(0,0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate(0,0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate(0,0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate(0,0)}}@keyframes Toastify__slideOutRight{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(110%)}}@keyframes Toastify__slideOutLeft{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(-110%)}}@keyframes Toastify__slideOutDown{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{background:radial-gradient(circle at top,#fff6e1 0%,#f6e7c8 45%,#efe0bf 100%);min-height:100vh;padding:32px 24px 48px}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.header h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.6rem)}.header p{color:#5b523f;max-width:520px;margin:0}.controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{color:#fff;cursor:pointer;-o-transition:transform .15s ease, box-shadow .15s ease, opacity .2s;background:linear-gradient(#3a2f22 0%,#1f1a14 100%);border:none;border-radius:999px;padding:10px 18px;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .2s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #0000002e}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:#3a2f22;background:0 0;border:1px solid #3a2f22}.dice{transform-origin:50%;cursor:pointer;background:#fff;border:none;border-radius:16px;place-items:center;width:72px;height:72px;font-weight:700;display:grid;box-shadow:inset 0 0 0 2px #2c2c2c,0 12px 18px #0000001f}.roll-cluster{justify-self:end;align-items:center;gap:12px;display:flex}.dice-box{display:flex}.dice.rolling{animation:.45s ease-in-out dice-roll}.dice.rolling strong{animation:.45s ease-in-out dice-spin}.dice:disabled{cursor:not-allowed;opacity:.6}.dice span{color:#777;font-size:.75rem}.dice strong{font-size:1.6rem}@keyframes dice-roll{0%{transform:rotate(0)scale(1)}20%{transform:rotate(90deg)scale(.95)}50%{transform:rotate(180deg)scale(1.05)}80%{transform:rotate(270deg)scale(.98)}to{transform:rotate(360deg)scale(1)}}@keyframes dice-spin{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.main{grid-template-columns:minmax(320px,1.1fr) minmax(260px,.6fr);gap:24px;display:grid}.game-shell{place-items:center stretch;gap:18px;display:grid}.board-wrapper{justify-content:center;display:flex}.board{aspect-ratio:1;z-index:0;background:#fdf7ea;border:12px solid #b07a3a;border-radius:28px;grid-template-columns:repeat(15,1fr);width:min(92vw,640px);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 30px #00000040,inset 0 0 0 6px #ffffff80}.board:before{content:"";z-index:0;background:linear-gradient(145deg,#ffffff8c,#0000000d);border-radius:20px;position:absolute;inset:8px;box-shadow:inset 0 0 0 2px #0000001f}.board-center{background:conic-gradient(from 45deg, #2ecc71 0 25%, #f1c40f 25% 50%, #3498db 50% 75%, #e74c3c 75% 100%);z-index:0;pointer-events:none;border:2px solid #00000059;border-radius:8px;width:20%;height:20%;position:absolute;top:40%;left:40%;box-shadow:inset 0 0 0 6px #fdf7ea,0 6px 12px #0003}.board-center:after{content:"";background:#fdf7ea;border-radius:50%;position:absolute;inset:24%;box-shadow:inset 0 0 0 2px #0003}.cell{z-index:1;background:#f8f1df;border:0;position:relative;box-shadow:inset 0 0 0 .7px #00000038}.cell.void{background:#f6ecd7}.cell.center{box-shadow:none;background:0 0}.cell.path{background:#fffdf7}.cell.base{background:#f6ecd7}.cell.base.green{background:linear-gradient(135deg,#2ecc7140,#2ecc718c)}.cell.base.yellow{background:linear-gradient(135deg,#f1c40f40,#f1c40f8c)}.cell.base.blue{background:linear-gradient(135deg,#3498db40,#3498db8c)}.cell.base.red{background:linear-gradient(135deg,#e74c3c40,#e74c3c8c)}.cell.home.green,.cell.home.yellow,.cell.home.blue,.cell.home.red{background:#fef9ea}.cell.home.green{background:linear-gradient(135deg,#77f0ad,#2ecc71)}.cell.home.yellow{background:linear-gradient(135deg,#ffec95,#f1c40f)}.cell.home.blue{background:linear-gradient(135deg,#9ad8ff,#3498db)}.cell.home.red{background:linear-gradient(135deg,#ffb0a8,#e74c3c)}.cell.start{position:relative}.cell.start:after{content:"";clip-path:polygon(50% 0%,62% 32%,96% 36%,70% 56%,80% 92%,50% 72%,20% 92%,30% 56%,4% 36%,38% 32%);background:#ffffffe6;position:absolute;inset:18%;box-shadow:inset 0 0 0 1px #0003}.cell.safe{background:#fff3cd}.cell.safe:after{content:"";clip-path:polygon(50% 0%,62% 32%,96% 36%,70% 56%,80% 92%,50% 72%,20% 92%,30% 56%,4% 36%,38% 32%);opacity:.6;background:#0000002e;position:absolute;inset:24%}.cell.start.green{background:#2ecc71}.cell.start.yellow{background:#f1c40f}.cell.start.blue{background:#3498db}.cell.start.red{background:#e74c3c}.cell.base-spot:after{content:"";z-index:1;pointer-events:none;background:#ffffffb3;border-radius:50%;position:absolute;inset:18%;box-shadow:inset 0 0 0 2px #0003,0 2px 4px #0000001f}.cell.base-spot.green:after{box-shadow:inset 0 0 0 2px #2ecc71b3,0 2px 4px #0000001f}.cell.base-spot.yellow:after{box-shadow:inset 0 0 0 2px #f1c40fb3,0 2px 4px #0000001f}.cell.base-spot.blue:after{box-shadow:inset 0 0 0 2px #3498dbb3,0 2px 4px #0000001f}.cell.base-spot.red:after{box-shadow:inset 0 0 0 2px #e74c3cb3,0 2px 4px #0000001f}.token-stack{z-index:2;place-items:center;display:grid;position:absolute;inset:2px}.token{cursor:pointer;pointer-events:none;width:76%;height:76%;transform:translate(calc((var(--stack-index,0) / 2) * 28%), calc((var(--stack-index,0) / 2) * 28%)) scale(.85);background:#fff;border:2px solid #00000047;border-radius:50%;transition:transform .2s,box-shadow .2s,filter .2s;position:absolute;box-shadow:inset 0 -6px 10px #0003,0 4px 6px #00000038}.token:before{content:"";background:#ffffff59;border-radius:50%;position:absolute;inset:12%;box-shadow:inset 0 0 0 2px #ffffff73}.token:after{content:"";opacity:.7;background:#ffffffbf;border-radius:50%;width:38%;height:38%;position:absolute;top:14%;left:14%}.token.green{background:radial-gradient(circle at 30% 30%,#7dffb2,#2ecc71 60%,#1f9e56)}.token.yellow{background:radial-gradient(circle at 30% 30%,#fff3a1,#f1c40f 60%,#c49b07)}.token.blue{background:radial-gradient(circle at 30% 30%,#8fd3ff,#3498db 60%,#1f6ea5)}.token.red{background:radial-gradient(circle at 30% 30%,#ff9a92,#e74c3c 60%,#b43a2e)}.token.movable{pointer-events:auto;transform:translate(calc((var(--stack-index,0) / 2) * 28%), calc((var(--stack-index,0) / 2) * 28%)) scale(1);animation:1.1s ease-in-out infinite pulse;box-shadow:0 0 0 3px #1f1f1f,0 0 16px #00000059}.token.finished{opacity:.75;filter:saturate(.6);border-style:dashed}@keyframes pulse{0%,to{transform:translate(calc((var(--stack-index,0) / 2) * 28%), calc((var(--stack-index,0) / 2) * 28%)) scale(1)}50%{transform:translate(calc((var(--stack-index,0) / 2) * 28%), calc((var(--stack-index,0) / 2) * 28%)) scale(1.06)}}.panel{flex-direction:column;align-self:center;gap:16px;display:flex}.panel-card{background:#fffaf0;border:1px solid #00000014;border-radius:18px;padding:18px;box-shadow:0 12px 20px #0000001f}.dice-panel{text-align:center;place-items:center;gap:16px;display:grid}.dice-panel .roll-cluster{justify-content:center;justify-self:center}.turn-banner{text-align:left;background:linear-gradient(#ffffffe6,#ffffffb3);border:1px solid #00000014;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:100%;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 1px #fff9}.turn-dot{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 2px #00000040}.turn-dot.green{background:#2ecc71}.turn-dot.yellow{background:#f1c40f}.turn-dot.blue{background:#3498db}.turn-dot.red{background:#e74c3c}.turn-label{text-transform:uppercase;letter-spacing:.08em;color:#7a6a4f;margin:0;font-size:.75rem}.turn-banner h3{margin:2px 0 0;font-size:1.1rem}.mode-toggle{gap:8px;display:flex}.mode-toggle .btn.active{color:#fff;background:#2c2c2c;border-color:#0000}.choose-row{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px;display:grid}.choose-chip{cursor:pointer;background:#f2ead8;border:none;border-radius:12px;padding:10px 0;font-weight:700;box-shadow:inset 0 0 0 2px #0000001f}.choose-chip.selected{transform:translateY(-1px);box-shadow:0 8px 14px #0003}.choose-chip.green{background:#2ecc7140}.choose-chip.yellow{background:#f1c40f4d}.choose-chip.blue{background:#3498db40}.choose-chip.red{background:#e74c3c40}.control-dock{background:#fffaf0;border:1px solid #0000001f;border-radius:16px;gap:12px;width:min(92vw,640px);padding:14px;display:grid;box-shadow:0 10px 18px #0000001f}.turn-line{align-items:center;gap:10px;font-weight:600;display:flex}.turn-message{color:#5b523f;font-weight:400}.dock-actions{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.dock-actions-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.two-player .board{width:min(94vw,700px)}.two-player .token{width:88%;height:88%}.tutorial-overlay{z-index:20;background:#10101099;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.tutorial-card{background:#fffaf0;border-radius:20px;max-width:420px;padding:24px;box-shadow:0 20px 30px #00000040}.tutorial-card h2{margin-top:0}.tutorial-card ol{color:#5b523f;padding-left:18px}.capture-overlay{z-index:22;background:#10101066;place-items:center;animation:1.2s forwards capture-fade;display:grid;position:fixed;inset:0}.capture-card{text-align:center;color:#2f2a20;background:#fff7e6;border:1px solid #0000001a;border-radius:16px;padding:20px 26px;animation:.4s capture-pop;box-shadow:0 18px 30px #0000004d}.capture-card h2{margin:10px 0 6px}.capture-card p{color:#6f634a;margin:0}.capture-row{justify-content:center;gap:8px;display:flex}.capture-dot{border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 2px #00000040}.capture-dot.green{background:#2ecc71}.capture-dot.yellow{background:#f1c40f}.capture-dot.blue{background:#3498db}.capture-dot.red{background:#e74c3c}@keyframes capture-pop{0%{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes capture-fade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.elim-overlay{z-index:25;background:radial-gradient(circle,#7800008c,#140000e0);place-items:center;animation:1.7s forwards elim-fade;display:grid;position:fixed;inset:0}.elim-card{text-align:center;color:#fff6e1;background:#120c0aeb;border:1px solid #ffffff26;border-radius:18px;padding:26px 32px;animation:.6s elim-pop;box-shadow:0 24px 40px #00000073}.elim-card h2{margin:12px 0 6px;font-size:1.6rem}.elim-card p{color:#ffffffb3;margin:0}.elim-crew{border-radius:50%;width:84px;height:84px;margin:0 auto;animation:.6s ease-in-out elim-shake;position:relative;box-shadow:inset 0 -10px 18px #00000059,0 10px 16px #00000059}.elim-crew:before{content:"";background:#ffffffe6;border-radius:999px;width:46%;height:30%;position:absolute;top:18%;left:26%;box-shadow:inset 0 0 0 2px #00000040}.elim-crew:after{content:"";background:#00000026;border-radius:12px;width:28%;height:36%;position:absolute;top:30%;right:-10%;box-shadow:inset 0 -6px 10px #0000004d}.elim-crew.green{background:radial-gradient(circle at 30% 30%,#7dffb2,#2ecc71 60%,#1f9e56)}.elim-crew.yellow{background:radial-gradient(circle at 30% 30%,#fff3a1,#f1c40f 60%,#c49b07)}.elim-crew.blue{background:radial-gradient(circle at 30% 30%,#8fd3ff,#3498db 60%,#1f6ea5)}.elim-crew.red{background:radial-gradient(circle at 30% 30%,#ff9a92,#e74c3c 60%,#b43a2e)}@keyframes elim-pop{0%{opacity:.6;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes elim-shake{0%{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}to{transform:translate(0)}}@keyframes elim-fade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.panel-card h2{margin:0 0 12px;font-size:1.1rem}.chat-panel{gap:12px;display:grid}.chat-window{background:#ffffffb3;border:1px solid #00000014;border-radius:12px;min-height:160px;max-height:240px;padding:10px 12px;overflow-y:auto}.chat-empty{color:#7a6a4f;margin:0;font-size:.9rem}.chat-msg{background:#fff;border:1px solid #0000000d;border-radius:10px;gap:4px;margin-bottom:8px;padding:8px 10px;display:grid}.chat-meta{color:#6f634a;justify-content:space-between;font-size:.8rem;display:flex}.chat-text{color:#2f2a20;font-size:.95rem}.chat-input{grid-template-columns:1fr auto;gap:10px;display:grid}.chat-input input{background:#fff;border:1px solid #7a551c40;border-radius:10px;padding:10px 12px}.toast-card{color:#2f2a20;background:#fffaf0;border:1px solid #0000001a;border-radius:14px;font-family:inherit;box-shadow:0 14px 26px #0000002e}.toast-body{color:#2f2a20;font-weight:600}.toast-progress{background:linear-gradient(90deg,#2ecc71,#f1c40f,#3498db,#e74c3c)}.turn{align-items:flex-start;gap:12px;display:flex}.turn p{color:#5b523f;margin:6px 0 0}.turn-indicator{background:#999;border-radius:50%;width:14px;height:14px;margin-top:6px}.turn-indicator.green{background:#2ecc71}.turn-indicator.yellow{background:#f1c40f}.turn-indicator.blue{background:#3498db}.turn-indicator.red{background:#e74c3c}.winner{background:#2c2c2c0f;border-radius:12px;margin-top:12px;padding:12px}.players{flex-direction:column;gap:10px;display:flex}.player{background:#00000008;border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex}.player.active{background:#00000014}.dot{background:#999;border-radius:50%;width:10px;height:10px}.dot.green{background:#2ecc71}.dot.yellow{background:#f1c40f}.dot.blue{background:#3498db}.dot.red{background:#e74c3c}.tips ul{color:#5b523f;margin:0;padding-left:18px;list-style:outside}.setup{grid-template-columns:minmax(280px,1fr) minmax(220px,.7fr);align-items:start;gap:24px;display:grid}.setup-card{background:linear-gradient(160deg,#fffdf6 0%,#fff3db 40%,#f7e7c8 100%);border:1px solid #6b4a182e;border-radius:18px;padding:22px;position:relative;overflow:hidden;box-shadow:0 18px 28px #4a310e2e}.setup-card:after{content:"";pointer-events:none;background:repeating-linear-gradient(120deg,#ffffff14 0 2px,#0000 2px 6px);position:absolute;inset:0}.setup-card h1{margin:0 0 6px}.setup-card p{color:#5b523f;margin:0 0 18px}.entry-hero{text-align:center;margin-bottom:40px}.entry-ludo-stage{aspect-ratio:1;background:radial-gradient(circle,#fffffff2,#fff1d5b3 60%,#0000 62%),conic-gradient(from 45deg,#2ecc7147,#f1c40f47,#3498db47,#e74c3c47,#2ecc7147);border:2px solid #5e411433;border-radius:24px;place-items:center;width:min(290px,84vw);margin:0 auto 20px;display:grid;position:relative;box-shadow:0 16px 26px #4a310e2e,inset 0 0 0 1px #fff9}.entry-ludo-ring{border:2px dashed #5e411459;border-radius:999px;animation:9s linear infinite entry-ring-spin;position:absolute;inset:22%}.entry-ludo-center{background:conic-gradient(from 45deg, #2ecc71 0 25%, #f1c40f 25% 50%, #3498db 50% 75%, #e74c3c 75% 100%);z-index:2;border-radius:16px;width:56px;height:56px;box-shadow:inset 0 0 0 3px #ffffffd9,0 8px 12px #00000024}.entry-ludo-token{--orbit:90px;border:2px solid #ffffffe6;border-radius:999px;width:22px;height:22px;animation:3.2s linear infinite entry-token-orbit;position:absolute;top:50%;left:50%;box-shadow:0 6px 10px #0000002e}.entry-ludo-token.green{background:#2ecc71;animation-delay:0s}.entry-ludo-token.yellow{background:#f1c40f;animation-delay:-.8s}.entry-ludo-token.blue{background:#3498db;animation-delay:-1.6s}.entry-ludo-token.red{background:#e74c3c;animation-delay:-2.4s}.entry-ludo-dice{background:#fff;border:2px solid #2c2c2cbf;border-radius:14px;width:54px;height:54px;animation:2.1s ease-in-out infinite entry-dice-bob;position:absolute;bottom:10%;left:12%;box-shadow:0 10px 14px #00000024}.entry-ludo-dice .pip{background:#202020;border-radius:999px;width:7px;height:7px;position:absolute}.entry-ludo-dice .p1{top:11px;left:11px}.entry-ludo-dice .p2{top:11px;right:11px}.entry-ludo-dice .p3{top:23px;left:11px}.entry-ludo-dice .p4{top:23px;right:11px}.entry-ludo-dice .p5{bottom:11px;left:11px}.entry-ludo-dice .p6{bottom:11px;right:11px}.mode-grid{grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px;display:grid}.mode-card{text-align:left;cursor:pointer;background:#fdf7ea;border:1px solid #0000001f;border-radius:16px;gap:6px;padding:16px;transition:transform .2s,box-shadow .2s;display:grid}.mode-card:hover{transform:translateY(-2px);box-shadow:0 10px 18px #0000001f}.mode-card span{color:#7a6a4f;font-size:.9rem}.mode-card-enter{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none}.mode-card-enter:hover{transform:scale(1.04);box-shadow:0 12px 24px #667eea66}.room-card{background:linear-gradient(#fff2cf 0%,#f6e2b4 100%);border:1px dashed #7b571e73;border-radius:18px;justify-items:start;gap:10px;margin-bottom:16px;padding:18px;display:grid;box-shadow:inset 0 0 0 1px #fff9,0 10px 18px #4e34101f}.room-label{color:#7a6a4f;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.room-code{letter-spacing:.2em;background:linear-gradient(#fff 0%,#f7efe1 100%);border:1px solid #7a551c40;border-radius:12px;padding:10px 14px;font-size:1.8rem;font-weight:700;box-shadow:inset 0 0 0 1px #ffffffb3,0 6px 10px #4d350e2e}.signal-code{white-space:pre-wrap;word-break:break-word;background:linear-gradient(#fff 0%,#f7efe1 100%);border:1px solid #7a551c40;border-radius:12px;width:100%;max-width:100%;margin:0;padding:10px 12px;font-size:.85rem;line-height:1.35}.qr-box{justify-items:center;gap:10px;width:100%;display:grid}.room-join{gap:10px;margin-bottom:16px;display:grid}.room-join label{gap:6px;font-weight:600;display:grid}.room-join input{background:linear-gradient(#fff 0%,#f7efe1 100%);border:1px solid #7a551c40;border-radius:12px;padding:10px 12px;font-size:1rem;box-shadow:inset 0 2px 6px #00000014}.join-status{color:#5b523f;align-items:center;gap:10px;min-height:28px;margin-bottom:16px;font-weight:600;display:flex}.loader{border:3px solid #0003;border-top-color:#2c2c2c;border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}.error-text{color:#b2352a}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes entry-ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes entry-token-orbit{0%{transform:rotate(0deg) translateX(var(--orbit)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit)) rotate(-360deg)}}@keyframes entry-dice-bob{0%,to{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-10px)rotate(7deg)}}.player-count{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.player-count-tight{margin-bottom:10px}.count-chip{cursor:pointer;background:#f2ead8;border:1px solid #0000002e;border-radius:999px;padding:8px 14px;font-weight:600;transition:transform .2s,box-shadow .2s}.count-chip.active{color:#fff;background:#2c2c2c;border-color:#0000;box-shadow:0 10px 18px #0000002e}.count-chip:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.color-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px;margin-bottom:18px;display:grid}.color-card{text-align:left;cursor:pointer;background:#fdf7ea;border:1px solid #0000001f;border-radius:16px;gap:6px;padding:14px;transition:transform .2s,box-shadow .2s;display:grid}.color-card.selected{transform:translateY(-2px);box-shadow:0 10px 18px #00000026}.color-card.disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.color-token{border:2px solid #0003;border-radius:50%;width:38px;height:38px;box-shadow:inset 0 0 0 4px #ffffff80}.color-token.green{background:radial-gradient(circle at 30% 30%,#6dff9c,#2ecc71 60%,#1f9e56)}.color-token.yellow{background:radial-gradient(circle at 30% 30%,#fff5a5,#f1c40f 60%,#c49b07)}.color-token.blue{background:radial-gradient(circle at 30% 30%,#8fd3ff,#3498db 60%,#1f6ea5)}.color-token.red{background:radial-gradient(circle at 30% 30%,#ff9a92,#e74c3c 60%,#b43a2e)}.color-meta{color:#7a6a4f;font-size:.8rem}.setup-actions{flex-wrap:wrap;gap:12px;display:flex}.setup-actions-tight{margin-bottom:12px}.setup-note{margin-top:14px;font-weight:600}.setup-note-tip{margin-top:-6px;margin-bottom:10px}.room-status{color:#5b523f;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-weight:600;display:flex}.btn.small{padding:8px 12px;font-size:.85rem}.player-legend{background:#fff9;border:1px solid #00000014;border-radius:12px;gap:8px;margin-top:12px;padding:10px 12px;display:grid}.lobby-legend{margin-bottom:12px}.ready-legend{margin-bottom:24px}.player-legend.compact{background:#ffffffbf;width:100%}.legend-row{color:#5b523f;align-items:center;gap:10px;font-weight:600;display:flex}.ready-legend-row{padding:12px;font-size:16px}.legend-dot{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 2px #00000040}.legend-dot.green{background:#2ecc71}.legend-dot.yellow{background:#f1c40f}.legend-dot.blue{background:#3498db}.legend-dot.red{background:#e74c3c}.room-pill{color:#3a2f22;background:#2c2c2c1a;border-radius:999px;margin-top:10px;padding:6px 12px;font-weight:600}.name-list{gap:10px;margin-bottom:16px;display:grid}.name-row{background:#ffffffb3;border:1px solid #00000014;border-radius:12px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.name-label{color:#5b523f;font-weight:600}.name-row input{background:#fff;border:1px solid #7a551c40;border-radius:10px;padding:8px 10px}.name-row.locked{opacity:.75}.name-lock{text-transform:uppercase;letter-spacing:.06em;color:#8a7a61;font-size:.75rem;font-weight:700}.name-lock.editable{color:#2f7a3a}.tip-card ul{color:#5b523f;margin:0;padding-left:18px;list-style:outside}.rules-card{background:linear-gradient(160deg,#fff7ee 0%,#ffe9d6 45%,#f6d9b9 100%);border-color:#7c4f1840}.rules-card ul{color:#5b523f;margin:0;padding-left:18px;list-style:outside}@media (width<=980px){.board{width:min(92vw,560px)}.main,.setup{grid-template-columns:1fr}}@media (width<=720px){.app{padding:20px 16px 32px}.controls{justify-content:flex-start;width:100%}.mode-toggle{flex-wrap:wrap;width:100%}.dice{width:62px;height:62px}.choose-row{grid-template-columns:repeat(3,1fr)}.control-dock{width:min(94vw,560px)}.dock-actions{grid-template-columns:1fr}.roll-cluster{justify-self:end}.mode-grid{grid-template-columns:1fr}.entry-ludo-stage{width:min(250px,88vw)}.entry-ludo-token{--orbit:78px}.entry-ludo-dice{width:48px;height:48px}}
