@import "https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,500;0,600;0,700;1,500&family=Manrope:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:40px;--sp-5:64px;--font-display:"Cormorant", Georgia, serif;--font-text:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-text);color:#f2e8d5;background:#0f1f17;min-height:100vh}h1,h2,h3{font-family:var(--font-display)}.logo{cursor:pointer;align-items:center;gap:10px;text-decoration:none;transition:opacity .15s;display:inline-flex}.logo:hover{opacity:.85;text-decoration:none}.logo:active{opacity:.7}.logo.nav__link--active{text-decoration:none}.logo__icon{filter:drop-shadow(0 2px 3px #0006);display:block}.logo__text{font-family:var(--font-display);color:#e8c987;letter-spacing:.08em;font-size:26px;font-style:italic}.page{background:radial-gradient(at 50% 20%,#1d3a2a 0%,#12251a 60%,#0c1a12 100%);min-height:100vh;padding:24px;animation:.4s ease-out both fade-up}.page--center{flex-direction:column;justify-content:center;align-items:center;display:flex}.header{border-bottom:2px solid #c9a35f4d;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.nav a{color:#f2e8d5;margin-left:32px;text-decoration:none;transition:color .2s}.nav a:hover{color:#e8c987}.hero{text-align:center;padding:40px 24px}.hero__title{letter-spacing:2px;color:#f2e8d5;font-size:52px;font-weight:700}.hero__title em{color:#e8c987;font-style:italic}.hero__subtitle{color:#f2e8d5b3;max-width:560px;margin:24px auto 40px;font-size:18px;line-height:1.6}.landing-layout{align-items:flex-start;gap:24px;min-height:calc(100vh - 90px);padding:40px 40px 0;display:flex;position:relative}.landing-layout .hero{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:absolute;inset:0}.landing-layout .hero>*{pointer-events:auto}@media (width<=1100px){.landing-layout .hero{order:-1;width:100%;position:static}}.btn-play{color:#1c1608;font-family:var(--font-text);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:linear-gradient(#d9b26e,#c9a35f);border:none;border-radius:6px;padding:12px 40px;font-size:17px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s;animation:2.6s ease-in-out infinite breathe;box-shadow:0 4px 14px #c9a35f4d}@keyframes breathe{0%,to{box-shadow:0 4px 14px #c9a35f4d}50%{box-shadow:0 4px 22px #c9a35f8c,0 0 18px #e8c9874d}}.btn-play:hover{background:linear-gradient(#e4c07e,#d3ac67);transform:translateY(-2px);box-shadow:0 6px 20px #c9a35f73}.btn-play:active{transform:translateY(0)}.card{background:linear-gradient(#1e382f,#172b23);border:2px solid #c9a35f80;border-radius:14px;min-width:320px;padding:32px;box-shadow:0 18px 50px #00000073}.card--wide{width:min(960px,94vw)}.card h2{color:#e8c987;margin-bottom:20px}.card input{color:#f2e8d5;background:#0f1f17;border:2px solid #f2e8d540;border-radius:6px;width:100%;margin-bottom:16px;padding:12px 16px;font-size:16px;display:block}.card input:focus{border-color:#c9a35f;outline:none}.card button{cursor:pointer;color:#e8c987;background:0 0;border:2px solid #c9a35f8c;border-radius:8px;margin-right:8px;padding:8px 24px;font-family:inherit;font-size:15px;transition:background .15s,transform .1s}.card button:hover{background:#c9a35f1f}.card button:active{transform:scale(.97)}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.game-list{list-style:none}.game-list li{border-bottom:2px solid #c9a35f33;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.game-list li:hover{background:#c9a35f12}.error{color:#e07a5f;margin:10px 0}.hint{color:#f2e8d58c;font-size:14px}.rules{max-width:1100px;margin:0 auto;padding:0 40px 80px}.rules--page{padding-top:64px}.rules__title{text-align:center;color:#e8c987;letter-spacing:.12em;text-transform:uppercase;font-size:30px}.rules__intro{text-align:center;color:#f2e8d5b3;max-width:620px;margin:16px auto 40px;font-size:16px;line-height:1.6}.rules__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.rules__card{background:#c9a35f0f;border:1px solid #c9a35f40;border-radius:14px;padding:24px 22px;transition:transform .15s,border-color .15s}.rules__card:hover{border-color:#c9a35f80;transform:translateY(-4px)}.rules__icon{font-size:28px}.rules__card h3{color:#e8c987;letter-spacing:.5px;margin:12px 0 8px;font-size:19px}.rules__card p{color:#f2e8d5bf;font-size:14px;line-height:1.6}@media (width<=900px){.rules__grid{grid-template-columns:1fr}}.board{background:linear-gradient(#5a3216,#3d2109);border:10px solid #4a2a10;border-radius:14px;flex-direction:column;padding:16px;display:flex;box-shadow:0 18px 60px #0000008c,inset 0 2px #ffe6b42e,inset 0 -3px 8px #00000080}.board-inner{flex:auto;align-items:stretch;min-height:0;display:flex}.board-half{background:linear-gradient(#ef8f2f,#e2832a);border-radius:4px;flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden;box-shadow:inset 0 0 0 3px #783c0f8c,inset 0 0 30px #5a280559}.board-row{flex:1 1 0;grid-template-columns:repeat(6,1fr);min-height:0;padding:10px 4px;display:grid;position:relative}.point{position:relative;overflow:visible;container-type:size}.board .checker{--ch:min(92cqw, 80cqh);width:var(--ch);aspect-ratio:1;z-index:3;border-radius:50%;height:auto;animation:.25s ease-out drop;position:absolute;left:50%;translate:-50%}.board-spine{background:repeating-linear-gradient(90deg,#0000001f 0,#0000 3px 6px,#ffebc80f 9px),linear-gradient(90deg,#6b3d1a 0%,#8a5528 30%,#a06a33 50%,#8a5528 70%,#6b3d1a 100%);border-radius:6px;flex-direction:column;flex:none;justify-content:space-between;align-items:center;width:46px;margin:0 4px;padding:26px 0;display:flex;box-shadow:-4px 0 10px #00000073,4px 0 10px #00000073,inset 0 0 6px #00000080}.spine-hinge{background:linear-gradient(#ecd48a,#c9a35f 45%,#9d7a3c);border-radius:5px;width:30px;height:44px;position:relative;box-shadow:0 2px 5px #0000008c,inset 0 1px 2px #fffadcb3,inset 0 -2px 3px #3c280599}.spine-hinge:before,.spine-hinge:after{content:"";background:#5e4517;border-radius:2px;width:3px;height:8px;position:absolute;left:50%;transform:translate(-50%)}.spine-hinge:before{top:7px}.spine-hinge:after{bottom:7px}.point{flex-direction:column;gap:2px;display:flex;position:relative}.point--top{justify-content:flex-start}.point--bottom{justify-content:flex-end}.point:before{content:"";clip-path:polygon(0 0,100% 0,50% 97%);background:#6b3a1a;transition:background .15s;position:absolute;inset:0}.point--bottom:before{clip-path:polygon(0 100%,100% 100%,50% 3%)}.point:nth-child(odd):before{background:#6b3a1a}.point:nth-child(2n):before{background:#f6dcc0}.point:after{content:"";clip-path:polygon(0 0,100% 0,50% 97%);pointer-events:none;background:linear-gradient(#ffffff2e,#0000 35%,#00000047 92%);position:absolute;inset:0}.point--bottom:after{clip-path:polygon(0 100%,100% 100%,50% 3%);background:linear-gradient(#00000047 8%,#0000 65%,#ffffff2e)}.point--selected:before{background:#ffe3b0!important}.point--target:before{background:#3f6b2e!important}.point--target:after{content:"";z-index:4;background:radial-gradient(circle,#c9f2a8,#4d9440);border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite pulse;position:absolute;box-shadow:0 0 10px #b4eb8ce6}.point--top.point--target:after{bottom:4px}.point--bottom.point--target:after{top:4px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.25)}}.checker--white{background:radial-gradient(circle,#6952308c 0%,#69523066 18%,#6952302e 30%,#69523000 44%),radial-gradient(circle at 50% calc(50% + 3.5px),#fffcf000 0 9px,#fffcf080 13px,#fffcf000 17px),radial-gradient(circle at 35% 28%,#ffffff73,#ffffff1f 30%,#fff0 55%),repeating-radial-gradient(circle,#69523000 0 4px,#6952301f 5px,#69523005 6.5px,#69523066 7.5px,#69523000 8.5px),radial-gradient(circle at 38% 30%,#fbf4e2,#efe3c8 30%,#ddcda6 65%,#c2a878);border:1px solid #a8916a;box-shadow:0 2px 5px #0006,inset 0 2px 3px #fff9,inset 0 -3px 5px #69523059}.checker--black{background:radial-gradient(circle at 35% 28%,#ffffff40,#ffffff0f 30%,#fff0 55%),repeating-radial-gradient(circle,#fff0 0 4px,#ffffff24 5px,#ffffff08 6.5px,#0009 7.5px,#0000 8.5px),radial-gradient(circle at 38% 30%,#4a4a4a,#262626 30%,#121212 65%,#050505);border:1px solid #000;box-shadow:0 2px 5px #00000080,inset 0 2px 4px #ffffff38,inset 0 -3px 5px #000000b3}.checker--selected{transform:scale(1.08);box-shadow:0 0 0 3px #fffdf6,0 2px 6px #0009!important}@keyframes drop{0%{opacity:.3;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.board-info{color:#e8c987;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:12px 16px 0;font-size:14px;display:flex}.board-info__text{color:#e8c987;letter-spacing:.5px;font-size:18px}.btn-play--small{padding:8px 22px;font-size:14px}.dice-row{gap:8px;display:inline-flex}.die{background:radial-gradient(circle at 35% 30%,#fffdf6,#efe3cc 75%,#cdbb9d);border:1px solid #a8916a;border-radius:7px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:1px;width:34px;height:34px;padding:4px;display:grid;box-shadow:0 3px 6px #00000073,inset 0 1px 2px #fffc}.pip{border-radius:50%}.pip--on{background:radial-gradient(circle at 35% 30%,#4a2f16,#1f1207);place-self:center;width:6px;height:6px;box-shadow:inset 0 1px 1px #0009}.die--rolling{filter:brightness(1.05);animation:.3s linear infinite tumble}@keyframes tumble{0%{transform:rotate(-14deg)translateY(0)}25%{transform:rotate(9deg)translateY(-7px)}50%{transform:rotate(-5deg)translateY(0)}75%{transform:rotate(12deg)translateY(-4px)}to{transform:rotate(-14deg)translateY(0)}}.dice-row .die{animation:.25s ease-out settle}@keyframes settle{0%{transform:scale(1.18)rotate(-9deg)}to{transform:scale(1)rotate(0)}}.board-debug{padding:20px}.turn-badge{letter-spacing:.5px;color:#e8c987;background:#c9a35f1f;border:2px solid #c9a35f80;border-radius:20px;padding:6px 16px;font-size:14px;display:inline-block}.turn-badge--mine{color:#f0a380;background:#d4734a33;border-color:#d4734a99;animation:2s ease-in-out infinite glow}@keyframes glow{0%,to{box-shadow:0 0 4px #d4734a4d}50%{box-shadow:0 0 14px #d4734a99}}.page--game{grid-template-columns:1fr 280px 300px;align-items:stretch;gap:16px;display:grid}.page--game .board-area{grid-area:1/1}.page--game .chat{grid-area:1/2}.page--game .side-panel{grid-area:1/3}.side-panel{background:linear-gradient(#1e382f,#172b23);border:2px solid #c9a35f80;border-radius:10px;flex-direction:column;flex:none;order:2;gap:12px;width:250px;padding:16px;display:flex;overflow-y:auto}.side-panel h2{color:#e8c987;margin:0;font-size:15px}.side-panel .hint{margin:0;font-size:13px}.side-panel button:not(.btn-play){cursor:pointer;color:#e8c987;letter-spacing:.5px;background:0 0;border:2px solid #c9a35f8c;border-radius:8px;align-self:flex-start;padding:9px 18px;font-family:inherit;font-size:14px;transition:background .15s,transform .1s}.side-panel button:not(.btn-play):hover{background:#c9a35f1f}.side-panel button:not(.btn-play):active{transform:scale(.97)}.board-area{grid-area:1/1;justify-content:stretch;align-items:stretch;min-height:0;display:flex}.board-area .board{aspect-ratio:auto;width:100%;height:100%}.board-area .checker--white{background:radial-gradient(circle,#6952308c 0%,#69523066 18%,#6952302e 30%,#69523000 44%),radial-gradient(circle at 50% calc(50% + 4px),#fffcf000 0 10px,#fffcf08c 14px,#fffcf000 18px),radial-gradient(circle at 35% 26%,#ffffff80,#ffffff24 30%,#fff0 55%),repeating-radial-gradient(circle,#69523000 0 4px,#69523021 5px,#69523005 6.5px,#6952306b 7.5px,#69523000 8.5px),radial-gradient(circle at 38% 30%,#fffdf4,#f2e6cc 30%,#ddcda6 65%,#c2a878);border-color:#a8916a}.board-area .board-spine{width:clamp(26px,3.5vw,46px);padding:18px 0}.board-area .spine-hinge{width:22px;height:34px}.dice-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;opacity:1;background:#0a150f73;justify-content:center;align-items:center;gap:40px;transition:opacity .4s;display:flex;position:fixed;inset:0}.dice-overlay--fading{opacity:0}.die--big{border:2px solid #8f7c58;border-radius:18px;gap:4px;width:110px;height:110px;padding:12px;box-shadow:0 14px 40px #0009,inset 0 3px 6px #ffffffd9}.die--big .pip--on{width:18px;height:18px}.die--big.die--rolling{filter:brightness(1.1);animation:.45s cubic-bezier(.3,.7,.4,1) infinite tumble-big}@keyframes tumble-big{0%{transform:rotate(-40deg)translateY(-30px)scale(.85)}40%{transform:rotate(25deg)translateY(-60px)scale(1.05)}70%{transform:rotate(-10deg)translateY(10px)scale(1)}to{transform:rotate(-40deg)translateY(-30px)scale(.85)}}.dice-overlay--fading .die--big{animation:.4s ease-out land-big}@keyframes land-big{0%{transform:scale(1.25)rotate(-14deg)}55%{transform:scale(.94)rotate(4deg)}to{transform:scale(1)rotate(0)}}.game-over{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a150fb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-over__card{text-align:center;background:linear-gradient(#1e382f,#172b23);border:2px solid #c9a35f8c;border-radius:16px;flex-direction:column;gap:12px;padding:36px 44px;animation:.35s ease-out both card-pop;display:flex;box-shadow:0 24px 70px #0009}.game-over__icon{font-size:52px}.game-over__card h2{color:#e8c987;letter-spacing:.06em;margin:0}.game-over__card p{color:#f2e8d5bf;margin:0;font-size:15px}.game-over__elo{font-size:20px;font-weight:700}.game-over__elo--up{color:#a3d977}.game-over__elo--down{color:#e07a5f}@keyframes card-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.panel-profile{background:#c9a35f14;border:1px solid #c9a35f40;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.avatar{width:42px;height:42px;font-size:20px;font-family:var(--font-display);color:#f2e8d5;text-shadow:0 1px 2px #00000080;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px 2px #ffffff4d,0 2px 5px #0006}.panel-profile__name{flex-direction:column;min-width:0;display:flex}.panel-profile__nick{color:#e8c987;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.panel-profile__role{color:#f2e8d58c;font-size:12px}.move-history{border-top:1px solid #c9a35f33;flex:auto;min-height:100px;margin-top:8px;padding-top:10px;overflow-y:auto}.move-history h3{color:#f2e8d599;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;font-size:13px}.move-history ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:inside decimal;display:flex}.move-history li{color:#f2e8d5;white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.mh-dot{border:1px solid #0006;border-radius:50%;flex:none;width:10px;height:10px}.mh-dot--white{background:#f5f0e1}.mh-dot--black{background:#4a3423}.profile-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 24px;display:grid}.stat-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;align-items:center;padding:14px;display:flex}.stat-card b{font-size:24px}.stat-card span{opacity:.7;font-size:13px}.recent-games{border-collapse:collapse;width:100%;margin-top:8px}.recent-games th,.recent-games td{text-align:left;border-bottom:1px solid #ffffff1f;padding:8px 10px}.lb{background:#0a150f73;border:2px solid #c9a35f4d;border-radius:18px;flex:none;width:460px;padding:40px 32px;animation:.6s ease-out both fade-up;position:relative;overflow:hidden}.lb__deco{opacity:.3;pointer-events:none;font-size:60px;position:absolute}.lb__deco--left{bottom:-18px;left:-34px;transform:rotate(-12deg)}.lb__deco--right{bottom:-18px;right:-34px;transform:rotate(12deg)}.lb__title{text-align:center;color:#e8c987;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:34px}.lb__sub{text-align:center;color:#f2e8d5b3;margin:8px 0 24px;font-size:15px}.lb__list{flex-direction:column;gap:12px;display:flex}.lb__row{background:#c9a35f0f;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;transition:background .15s;display:flex}.lb__row:hover{background:#c9a35f1f}.lb__row--first{background:#c9a35f24;border:1px solid #c9a35f8c;padding:14px 16px;box-shadow:0 0 20px #c9a35f1f}.lb__avatar{color:#f2e8d5;width:36px;height:36px;font-weight:700;font-family:var(--font-display);text-shadow:0 1px 2px #00000080;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px 2px #ffffff4d,0 2px 5px #0006}.lb__row--first .lb__avatar{width:44px;height:44px}.lb__name{color:#f2e8d5;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.lb__row--first .lb__name{color:#e8c987;font-size:16px;font-weight:700}.lb__stats{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.lb__stat{color:#f2e8d5;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.lb__stat i{color:#f2e8d580;margin-left:2px;font-size:11px;font-style:normal;font-weight:400;display:none}.lb__stat--elo{color:#e8c987;background:#c9a35f1f;border:1px solid #c9a35f66;border-radius:6px;padding:2px 8px;font-size:13px}.lb__row--first .lb__stats{gap:12px}.lb__crown{margin-left:10px;font-size:20px}.lb__empty{text-align:center;color:#f2e8d58c;margin:0}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.landing-layout .hero>*{animation:.6s ease-out both fade-up}.landing-layout .hero>:first-child{animation-delay:.1s}.landing-layout .hero>:nth-child(2){animation-delay:.25s}.landing-layout .hero>:nth-child(3){animation-delay:.4s}.online-counter{color:#f2e8d5b3;letter-spacing:.5px;font-size:14px}.online-counter:before{content:"";background:#4ade80;border-radius:50%;width:8px;height:8px;margin-right:8px;animation:2s infinite online-pulse;display:inline-block}@keyframes online-pulse{0%,to{opacity:1}50%{opacity:.4}}.waiting-note{color:#f2e8d599;letter-spacing:.5px;font-size:14px;font-style:italic}.footer{flex-direction:column;align-items:center;gap:16px;margin-top:64px;padding:24px 32px 32px;display:flex}.footer__line{background:linear-gradient(90deg,#0000,#d4af3773 25% 75%,#0000);width:min(720px,80%);height:1px}.footer__text{color:#f2e8d58c;letter-spacing:3px;text-transform:uppercase;font-size:13px}.board-preview-wrap{width:min(560px,92%);margin:24px auto 0}.board-preview{zoom:.55;pointer-events:none}.board-preview__caption{color:#f2e8d599;letter-spacing:1.5px;font-size:14px;font-style:italic}@media (width<=1200px){.lb{width:400px}.lb__name{font-size:14px}}:where(a,button,input,.point):focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #e8c987}.btn-play:focus-visible{outline-offset:3px;outline:3px solid #fffdf6e6}.card input:focus-visible{border-color:#c9a35f;outline:none;box-shadow:0 0 0 3px #c9a35f40}.nav a{text-underline-offset:4px}.nav a:hover{color:#e8c987;text-decoration:underline}.nav__link--active{color:#e8c987;text-underline-offset:6px;-webkit-text-decoration:underline #c9a35fb3;text-decoration:underline #c9a35fb3}.point{cursor:pointer}.point:hover:before{filter:brightness(1.1)}.point--target:hover:before{filter:brightness(1.18)}.checker{transition:transform .12s,box-shadow .12s}.point:active .checker{transform:scale(.94)}.lb__row:hover .lb__avatar{transform:scale(1.05)}.lb__avatar{transition:transform .15s}.board-preview .board{aspect-ratio:11/10;width:100%;height:auto;padding:8px}.board-preview .board-inner{display:flex}.board-preview .point{min-width:0}.hero__actions{justify-content:center;align-items:center;gap:14px;display:flex}.btn-settings{color:#e8c987;letter-spacing:.06em;cursor:pointer;background:0 0;border:2px solid #c9a35f99;border-radius:8px;padding:12px 28px;font-size:16px;font-weight:600;transition:background .2s}.btn-settings:hover,.btn-settings--open{background:#c9a35f26}.btn-settings--small{padding:8px 18px;font-size:14px}.settings-panel{background:#172b23eb;border:2px solid #c9a35f80;border-radius:10px;flex-direction:column;gap:14px;max-width:380px;margin:18px auto 0;padding:20px 24px;display:flex}.settings-panel h3{color:#e8c987;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:20px}.settings-row{color:#efe3cc;cursor:pointer;justify-content:space-between;align-items:center;font-size:15px;display:flex}.settings-row input[type=checkbox]{accent-color:#c9a35f;cursor:pointer;width:18px;height:18px}.page{position:relative}.page:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(at 50% 42%,#0000 45%,#0000002e 75%,#0000006b 100%);position:fixed;inset:0}.page:after{content:"";pointer-events:none;opacity:.04;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:fixed;inset:0}.dice-game{text-align:center;background:#172b23d9;border:1px solid #c9a35f59;border-radius:12px;flex-direction:column;gap:14px;width:300px;padding:22px 20px;display:flex;position:absolute;top:40px;right:40px}.dice-game__title{color:#e8c987;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:18px}.dice-game__sub{color:#a8b8a8;margin:0;font-size:13px}.dice-game__table{justify-content:center;align-items:center;min-height:84px;display:flex;position:relative}.dice-game__row{gap:14px;display:inline-flex}.dice-game__double{color:#f2dfae;font-size:13px;font-style:italic;animation:.4s doublePop;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}@keyframes doublePop{0%{opacity:0;transform:translate(-50%)scale(.7)}to{opacity:1;transform:translate(-50%)scale(1)}}.dice-game__btn{color:#e8c987;cursor:pointer;background:0 0;border:1px solid #c9a35f;border-radius:8px;padding:10px 22px;font-family:inherit;font-size:15px;transition:background .25s,color .25s,transform .15s}.dice-game__btn:hover:not(:disabled){color:#12251a;background:#e8c987;transform:translateY(-1px)}.dice-game__btn:disabled{opacity:.6;cursor:default}.dice-game__stats{color:#a8b8a8;justify-content:space-around;font-size:13px;display:flex}@media (width<=1100px){.dice-game{width:auto;margin:24px 20px 0;position:static}}.turn-timer{opacity:.85;margin-top:6px;font-size:14px;display:block}.turn-timer--low{color:#c0392b;opacity:1;font-weight:700}@keyframes dice-roll{0%{opacity:.2;transform:translateY(-28px)rotate(0)scale(1.25)}70%{opacity:1;transform:translateY(0)rotate(360deg)scale(1)}to{transform:translateY(0)rotate(360deg)scale(1)}}.dice-rolling,.die-roll{animation:.6s ease-out dice-roll}.lbp{max-width:720px;margin:40px auto;padding:0 16px}.lbp__title{color:#f2dfae;margin-bottom:4px;font-size:30px}.lbp__sub{color:#9a9a8a;margin-bottom:20px}.lbp__search{color:#e8e4d8;background:#ffffff0a;border:1px solid #c9a35f59;border-radius:8px;width:100%;margin-bottom:14px;padding:10px 14px;font-size:15px}.lbp__search:focus{border-color:#e8c987cc;outline:none}.lbp__table{border-collapse:collapse;width:100%}.lbp__table th{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;color:#c9a35f;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #c9a35f59;padding:8px 12px;font-size:14px}.lbp__table th:hover{color:#e8c987}.lbp__table th.lbp__sorted{color:#f2dfae}.lbp__table td{color:#e8e4d8;border-bottom:1px solid #ffffff0f;padding:9px 12px}.lbp__table tr.lbp__first td{background:#c9a35f14}.lbp__place{color:#c9a35f;font-weight:600}.lbp__player{align-items:center;gap:10px;display:flex}.lbp__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:inline-flex}.lbp__good{color:#8fce8f}.lbp__bad{color:#d88a8a}.lbp__empty{text-align:center;color:#9a9a8a;padding:24px}.lbp__error{color:#d88a8a}.page--game{animation:.4s ease-out both pageIn}@keyframes pageIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.page--game .board-half--left{transform-origin:100%;animation:.7s cubic-bezier(.2,.9,.3,1) both halfLeft}.page--game .board-half--right{transform-origin:0;animation:.7s cubic-bezier(.2,.9,.3,1) .1s both halfRight}@keyframes halfLeft{0%{opacity:0;transform:translate(-36px)rotateY(9deg)}}@keyframes halfRight{0%{opacity:0;transform:translate(36px)rotateY(-9deg)}}.page--game .board-spine{animation:.5s ease-out .2s both spineIn}@keyframes spineIn{0%{opacity:0;transform:scaleX(.3)}}.page--game .checker{animation:.35s ease-out both chipIn}.page--game .checker:nth-child(2){animation-delay:80ms}.page--game .checker:nth-child(3){animation-delay:.16s}.page--game .checker:nth-child(4){animation-delay:.24s}.page--game .checker:nth-child(5){animation-delay:.32s}@keyframes chipIn{0%{opacity:0;transform:translateY(-8px)scale(.7)}to{opacity:1;transform:none}}.page--game .side-panel{animation:.5s ease-out .15s both panelIn}@keyframes panelIn{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page--game,.page--game .board-half--left,.page--game .board-half--right,.page--game .board-spine,.page--game .checker,.page--game .side-panel,.ws-banner__dot{animation:none}}.online-tag{align-items:center;gap:5px;display:inline-flex}.online-tag__dot{background:#5a5a50;border-radius:50%;flex-shrink:0;width:7px;height:7px}.online-tag__dot--on{background:#6fce6f;box-shadow:0 0 4px #6fce6fb3}.match-day{background:#c9a35f12;border:1px solid #c9a35f59;border-radius:12px;margin:4px 0 22px;padding:18px 20px;animation:.5s ease-out both fade-up}.match-day__head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.match-day__label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#e8c987;font-size:18px}.match-day__table{color:#f2e8d580;letter-spacing:1px;font-size:12px}.match-day__duel{justify-content:space-between;align-items:center;gap:10px;display:flex}.match-day__player{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.match-day__player:last-child{justify-content:flex-end}.match-day__nick{color:#f2e8d5;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.match-day__elo{color:#e8c987;font-variant-numeric:tabular-nums;background:#c9a35f1f;border:1px solid #c9a35f66;border-radius:6px;flex:none;padding:1px 7px;font-size:12px}.match-day__vs{color:#f2e8d573;font-family:var(--font-display);flex:none;font-size:16px;font-style:italic}.match-day__btn{color:#e8c987;cursor:pointer;background:0 0;border:1px solid #c9a35f8c;border-radius:8px;width:100%;margin-top:14px;padding:9px 18px;font-family:inherit;font-size:14px;transition:background .15s,transform .1s}.match-day__btn:hover{background:#c9a35f1f}.match-day__btn:active{transform:scale(.97)}.landing-left{flex-direction:column;flex:none;gap:24px;width:460px;display:flex}@media (width<=1200px){.landing-left{width:400px}}@media (width<=900px){.landing-left{width:100%}}.exit-confirm{text-align:center;background:linear-gradient(#1e382f,#172b23);border:2px solid #c9a35f8c;border-radius:16px;flex-direction:column;gap:10px;max-width:420px;padding:28px 32px;animation:.25s ease-out both card-pop;display:flex;box-shadow:0 24px 70px #0009}.exit-confirm__icon{font-size:40px}.exit-confirm h2{color:#e8c987;letter-spacing:.04em;margin:0;font-size:22px}.exit-confirm p{color:#f2e8d5bf;margin:0;font-size:14px;line-height:1.55}.exit-confirm__actions{justify-content:center;gap:10px;margin-top:8px;display:flex}.exit-confirm__btn{color:#e07a5f;cursor:pointer;background:0 0;border:1px solid #e07a5f99;border-radius:8px;padding:8px 22px;font-family:inherit;font-size:14px;transition:background .15s,transform .1s}.exit-confirm__btn:hover{background:#e07a5f1f}.exit-confirm__btn:active{transform:scale(.97)}.point--last-from:before,.point--last-to:before{filter:brightness(1.22)}.point--last-to:before{background:#b98a3e!important}.point:before{transition:background .15s,filter .35s}.lobby-list{flex-direction:column;gap:12px;display:flex}.table-card{background:linear-gradient(#142821d9,#10201ad9);border:1px solid #c9a35f4d;border-radius:14px;grid-template-columns:1fr auto;grid-template-areas:"top top""players actions";align-items:center;gap:10px 16px;padding:14px 18px;transition:border-color .15s,box-shadow .15s;display:grid}.table-card--live{border-color:#c9a35f8c;box-shadow:0 0 24px #c9a35f14}.table-card__top{grid-area:top;justify-content:space-between;align-items:center;display:flex}.table-card__id{letter-spacing:.08em;text-transform:uppercase;color:#c9a35fb3;font-size:12px}.table-card__status{color:#f2e8d58c;align-items:center;gap:6px;font-size:12px;display:inline-flex}.table-card__status i{background:#96a09699;border-radius:50%;width:7px;height:7px}.table-card__status--live{color:#8fce9b}.table-card__status--live i{background:#4caf6d;animation:1.6s ease-in-out infinite online-pulse}.table-card__players{grid-area:players;align-items:center;gap:14px;min-width:0;display:flex}.table-card__player{align-items:center;gap:8px;min-width:0;display:flex}.table-card__avatar{color:#f2e8d5;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff26}.table-card__name{color:#f2e8d5;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.table-card__name--empty{color:#f2e8d566;font-style:italic}.table-card__vs{letter-spacing:.1em;color:#f2e8d566;flex:none;font-size:11px}.table-card__actions{grid-area:actions;gap:8px;display:flex}.table-card__danger{color:#e07a5f!important;border-color:#e07a5f80!important}.table-card__danger:hover{background:#e07a5f1f!important}.table-card__join{color:#8fce9b!important;border-color:#8fce9b80!important}.table-card__join:hover{background:#8fce9b1f!important}@media (width<=640px){.table-card{grid-template-columns:1fr;grid-template-areas:"top""players""actions"}.table-card__actions{justify-self:stretch}.table-card__actions .btn-outline{flex:1}}.lobby-head__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lobby-head__return{animation:2.4s ease-in-out infinite lobby-return-pulse;color:#e8c987!important;border-color:#c9a35fa6!important}.lobby-head__return:hover{animation-play-state:paused;background:#c9a35f1f!important}@keyframes lobby-return-pulse{0%,to{box-shadow:0 0 #c9a35f00}50%{box-shadow:0 0 14px 2px #c9a35f47}}.lobby-head__btn--muted{opacity:.7}.lobby-head__btn--muted:hover{opacity:1}.lobby-head__title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.lobby-head__count{letter-spacing:.02em;color:#f2e8d58c;white-space:nowrap;border:1px solid #c9a35f40;border-radius:12px;padding:2px 10px;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:12px;font-weight:400}.table-card--mine{border-color:#c9a35f73}.table-card__mine-tag{letter-spacing:.08em;text-transform:uppercase;color:#1e382f;background:#c9a35fd9;border-radius:8px;margin-right:8px;padding:1px 8px;font-size:10px;display:inline-block}.chat{background:linear-gradient(160deg,#ffffff0a,#ffffff03);border:1px solid #c9a35f40;border-radius:12px;flex-direction:column;padding:14px;display:flex}.chat__title{letter-spacing:.12em;text-transform:uppercase;color:#c9a35f;margin:0 0 10px;font-size:13px}.chat__list{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.chat__msg{border-radius:10px;flex-direction:column;gap:2px;max-width:88%;padding:8px 10px;font-size:14px;display:flex}.chat__msg--mine{background:#c9a35f2e;border:1px solid #c9a35f66;border-bottom-right-radius:2px;align-self:flex-end}.chat__msg--theirs{background:#ffffff0f;border:1px solid #ffffff1f;border-bottom-left-radius:2px;align-self:flex-start}.chat__nick{color:#c9a35f;font-size:11px}.chat__text{color:#f0ead8;word-break:break-word;white-space:pre-wrap}.chat__error{margin:6px 0 0;font-size:12px}.chat__form{gap:8px;margin-top:10px;display:flex}.chat__input{color:#f0ead8;background:#0000004d;border:1px solid #c9a35f4d;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:14px}.chat__input:focus{border-color:#c9a35f;outline:none}.chat__send{color:#c9a35f;cursor:pointer;background:#c9a35f26;border:1px solid #c9a35f66;border-radius:8px;width:40px;font-size:18px}.chat__send:hover{background:#c9a35f4d}.chat__send:disabled{opacity:.4;cursor:default}@keyframes last-move-pulse{0%,to{box-shadow:inset 0 0 #e8c98700}50%{box-shadow:inset 0 0 14px 2px #e8c98773}}.point--last-from,.point--last-to{animation:1.2s ease-in-out 2 last-move-pulse}@keyframes checker-drop{0%{opacity:.4;transform:translateY(-8px)scale(1.12)}to{opacity:1;transform:translateY(0)scale(1)}}.point--last-to .checker:last-child{animation:.25s ease-out checker-drop}@keyframes turn-glow{0%,to{opacity:1}50%{opacity:.55}}.turn-badge--mine{animation:1.6s ease-in-out infinite turn-glow}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat__msg{animation:.2s ease-out msg-in}@keyframes timer-urgent{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.turn-timer--low{animation:1s ease-in-out infinite timer-urgent}.chat__msg{align-items:flex-end;gap:8px;display:flex}.chat__msg--mine{flex-direction:row-reverse}.chat__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:flex}.chat__body{flex-direction:column;max-width:80%;display:flex}.chat__msg--mine .chat__nick{display:none}.chat__typing{opacity:.7;min-height:18px;padding:0 4px;font-size:12px}.chat__dots{vertical-align:bottom;width:14px;animation:1.2s steps(4,end) infinite chat-dots;display:inline-block;overflow:hidden}@keyframes chat-dots{0%{width:4px}to{width:14px}}.theme-picker{gap:6px;display:flex}.theme-swatch{cursor:pointer;background:linear-gradient(135deg, var(--sw1), var(--sw2));border:2px solid #ffffff26;border-radius:7px;width:28px;height:28px}.theme-swatch--on{border-color:#c9a35f;box-shadow:0 0 0 2px #c9a35f59}body[data-theme=walnut] .board{background:linear-gradient(#4a2c12,#2e1b0c)!important;border-color:#241505!important}body[data-theme=walnut] .board-half{background:linear-gradient(#8a5a2b,#6b431f)!important;box-shadow:inset 0 0 0 3px #1e0f0599,inset 0 0 30px #140a0366!important}body[data-theme=walnut] .point:nth-child(odd):before{background:#3a2210!important}body[data-theme=walnut] .point:nth-child(2n):before{background:#d9c09a!important}body[data-theme=walnut] .board-spine{background:repeating-linear-gradient(90deg,#0000001f 0,#0000 3px 6px,#ffebc80f 9px),linear-gradient(90deg,#2e1b0c 0%,#4a2c14 30%,#5c3a1e 50%,#4a2c14 70%,#2e1b0c 100%)!important}body[data-theme=walnut] .checker--white{border-color:#a8916a;background:radial-gradient(circle at 35% 28%,#fdf6e3,#e8d9b8 45%,#c2a878)!important}body[data-theme=walnut] .checker--black{border-color:#000;background:radial-gradient(circle at 35% 28%,#3a2c1a,#1c1108 60%,#0a0502)!important}body[data-theme=emerald] .board{background:linear-gradient(#1c3a2a,#12251a)!important;border-color:#0f1f14!important}body[data-theme=emerald] .board-half{background:linear-gradient(#2f8f63,#247a52)!important;box-shadow:inset 0 0 0 3px #0a1e148c,inset 0 0 30px #08160e59!important}body[data-theme=emerald] .point:nth-child(odd):before{background:#17402c!important}body[data-theme=emerald] .point:nth-child(2n):before{background:#d5e8d2!important}body[data-theme=emerald] .board-spine{background:repeating-linear-gradient(90deg,#0000001f 0,#0000 3px 6px,#e6ffeb0f 9px),linear-gradient(90deg,#12251a 0%,#1e4630 30%,#2a5c40 50%,#1e4630 70%,#12251a 100%)!important}body[data-theme=emerald] .checker--white{border-color:#9aa88a;background:radial-gradient(circle at 35% 28%,#fbf7ea,#e4e8d4 45%,#b8c2a2)!important}body[data-theme=emerald] .checker--black{border-color:#000;background:radial-gradient(circle at 35% 28%,#1e3a2a,#0e2016 60%,#050d08)!important}body[data-theme=midnight] .board{background:linear-gradient(#1a2030,#0f1420)!important;border-color:#0a0e16!important}body[data-theme=midnight] .board-half{background:linear-gradient(#2b3654,#1f2740)!important;box-shadow:inset 0 0 0 3px #080a1299,inset 0 0 30px #05080e66!important}body[data-theme=midnight] .point:nth-child(odd):before{background:#1a2340!important}body[data-theme=midnight] .point:nth-child(2n):before{background:#5a6a94!important}body[data-theme=midnight] .board-spine{background:repeating-linear-gradient(90deg,#00000024 0,#0000 3px 6px,#c8d7ff0f 9px),linear-gradient(90deg,#0f1420 0%,#1c2540 30%,#2a3860 50%,#1c2540 70%,#0f1420 100%)!important}body[data-theme=midnight] .checker--white{border-color:#8b96b5;background:radial-gradient(circle at 35% 28%,#f4f6fb,#d3d9ea 45%,#9aa6c4)!important}body[data-theme=midnight] .checker--black{border-color:#000;background:radial-gradient(circle at 35% 28%,#1c2230,#0e111c 60%,#05060a)!important}.ws-banner{z-index:200;color:#f5e3c8;letter-spacing:.02em;background:#762020eb;border-radius:10px;align-items:center;gap:10px;padding:10px 18px;font-size:14px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000073}.ws-banner__dot{background:#ff9c5b;border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite ws-pulse}@keyframes ws-pulse{0%,to{opacity:1}50%{opacity:.25}}
