@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms) ; --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms) ; animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms) ; animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms) ; --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px) ; --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px) ; --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)*.01) ; --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)*.01) ; --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%) ; --tw-enter-scale: --value(ratio) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%) ; --tw-enter-scale: calc(--value(ratio)*-1) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%) ; --tw-exit-scale: --value(ratio) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%) ; --tw-exit-scale: calc(--value(ratio)*-1) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg) ; --tw-enter-rotate: calc(--value(ratio)*360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg) ; --tw-enter-rotate: calc(--value(ratio)*-360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg) ; --tw-exit-rotate: calc(--value(ratio)*360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg) ; --tw-exit-rotate: calc(--value(ratio)*-360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-y: calc(--value(ratio)*-100%) ; --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-y: calc(--value(ratio)*100%) ; --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-y: calc(--value(ratio)*-100%) ; --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-y: calc(--value(ratio)*100%) ; --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@custom-variant dark (&:is(.dark *));@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; }:root{--background:#f3f1eb;--foreground:#121718;--card:#fffdf8;--card-foreground:#121718;--primary:#121718;--primary-foreground:#f3f1eb;--border:#dfddd5;--input:#dfddd5;--ring:#65cda0}*{box-sizing:border-box;border-color:var(--border)}html{background:#f3f1eb}body{margin:0;min-width:320px;background:var(--background);color:var(--foreground);font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{border:0}a{color:inherit;text-decoration:none}button:not(:disabled),a{cursor:pointer}.app-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:18px;color:#5d625f;font:12px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.loading-mark{display:flex;gap:4px}.loading-mark span{width:9px;height:9px;border-radius:50%;background:#ff735c;animation:load 1s infinite alternate}.loading-mark span:nth-child(2){background:#b3f3d0;animation-delay:.16s}.loading-mark span:nth-child(3){background:#ffc66d;animation-delay:.32s}.loading-mark span:nth-child(4){background:#a88bff;animation-delay:.48s}@keyframes load{to{transform:translateY(-7px);opacity:.45}}.eyebrow{margin:0 0 15px;color:#7b817e;font:500 10px DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.eyebrow.small{font-size:9px;margin-bottom:11px}.eyebrow-line{display:inline-block;width:20px;height:1px;background:#9ca39f}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca39f;box-shadow:0 0 0 3px #9ca39f1f}.mint-dot{background:#65cda0;box-shadow:0 0 0 3px #65cda026}.primary-button,.secondary-button,.ghost-button{min-height:46px;border-radius:10px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:800;transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s,color .16s,box-shadow .16s}.primary-button{background:#121718;color:#f7f5ef;box-shadow:0 8px 18px #12171821}.primary-button:hover{background:#293031;box-shadow:0 11px 23px #1217182b}.secondary-button{border:1px solid #d9d8d0;background:#fffdf8;color:#121718}.secondary-button:hover{border-color:#121718;background:#f7f5ee}.ghost-button{background:transparent;color:#121718}.ghost-button:hover{background:#1217180f}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:scale(.97)}.primary-button.full,.secondary-button.full{width:100%}.secondary-button.compact{min-height:40px;padding:0 14px}.text-link{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#121718;font-size:11px;font-weight:800}.text-link:hover{color:#ee6653}.icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:transparent;color:#707773}.icon-button:hover{background:#eceae2;color:#121718}.landing-shell{height:100dvh;display:flex;flex-direction:column;background:#f3f1eb;overflow:hidden}.landing-nav{flex:none;width:100%;max-width:1380px;margin-inline:auto;padding:calc(2.4vh + env(safe-area-inset-top)) 5vw 2.4vh;display:flex;align-items:center;gap:30px}.wordmark{display:inline-flex;align-items:center;gap:10px;color:#121718;font-size:18px;font-weight:800;letter-spacing:-.08em}.wordmark-dot{color:#ee6653}.wordmark-mark{width:22px;height:22px;display:grid;grid-template-columns:1fr 1fr;gap:2px;transform:rotate(45deg)}.wordmark-mark i{display:block;border-radius:3px;background:#ee6653}.wordmark-mark i:nth-child(2){background:#b3f3d0}.wordmark-mark i:nth-child(3){background:#ffc66d}.wordmark-mark i:nth-child(4){background:#a88bff}.nav-kicker{margin:auto;color:#7b817e;display:flex;align-items:center;gap:9px;font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.09em}.nav-login{color:#69706c}.landing-main{flex:1 1 auto;min-height:0;width:100%;max-width:1380px;margin-inline:auto;padding:0 5vw calc(2.4vh + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:clamp(12px,2.4vh,34px)}.hero-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:minmax(0,1fr);gap:5vw;align-items:center}.hero-copy{padding:0;min-width:0}.hero-copy h1{max-width:560px;margin:0;font-size:clamp(32px,min(6.6vw,10.6vh),105px);line-height:.92;letter-spacing:-.08em;font-weight:800}h1 em,h2 em{color:#ee6653;font-family:Playfair Display,serif;font-weight:600;letter-spacing:-.06em}.hero-lede{max-width:420px;margin:clamp(9px,2.2vh,28px) 0;color:#6d7470;font-size:clamp(12px,1.75vh,15px);line-height:1.65}.hero-cta{min-height:clamp(40px,5.6vh,52px);padding:0 20px}.hero-note{margin-top:clamp(8px,1.7vh,17px);color:#838985;display:flex;align-items:center;gap:7px;font:10px DM Mono,monospace}.hero-note svg{color:#65b88d}.hero-art{min-height:0;height:100%;align-self:stretch;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#101516e6,#101516b8),url(/manus-storage/ludo-visual-direction_a87945f5.png) center/cover;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px #161b1a24}.hero-art:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:11.11% 11.11%}.art-label{position:absolute;top:25px;z-index:2;color:#a5aea8;font:10px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.art-label span{color:#5f6964}.top-left{left:30px}.top-right{right:30px;display:flex;align-items:center;gap:8px}.art-board{position:relative;width:auto;height:min(72%,360px);max-width:66%;aspect-ratio:1;border:8px solid #e5e3da;border-radius:10px;background:#f8f4eb;box-shadow:0 0 0 1px #0006,0 20px 50px #0000005c;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);overflow:hidden;transform:rotate(-5deg)}.art-home{position:absolute;width:36%;height:36%;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:8px}.art-home div{border-radius:50%;border:4px solid rgba(16,21,22,.11);background:#ffffff59}.home-coral{top:4%;left:4%;background:#ee6653}.home-mint{top:4%;right:4%;background:#65b88d}.home-gold{bottom:4%;right:4%;background:#dfa451}.home-violet{bottom:4%;left:4%;background:#8c73d4}.art-track{position:absolute;background:#e6e2d8}.track-a{top:40%;left:0;right:0;height:7%}.track-b{top:0;bottom:0;left:40%;width:7%}.track-c{bottom:40%;left:0;right:0;height:7%}.track-d{top:0;bottom:0;right:40%;width:7%}.art-center{position:absolute;inset:40%;background:conic-gradient(#ee6653 0 25%,#65b88d 0 50%,#dfa451 0 75%,#8c73d4 0);display:grid;place-items:center;z-index:1}.art-center strong{font-size:23px;color:#121718}.art-center span{font:7px DM Mono,monospace;color:#121718;position:absolute;top:32%}.art-piece{width:14px;height:14px;border-radius:50%;position:absolute;z-index:3;border:3px solid #f7f5ef;box-shadow:0 4px 8px #0000004d}.p1{background:#ee6653;top:37%;left:46%}.p2{background:#65b88d;top:51%;left:57%}.p3{background:#8c73d4;top:65%;left:45%}.art-score{position:absolute;bottom:24px;right:29px;color:#ecede8;font:10px DM Mono,monospace;text-transform:uppercase;display:grid;gap:4px}.art-score b{font:700 15px Manrope,sans-serif;text-transform:none}.art-score i{font-style:normal;color:#65b88d;display:flex;gap:7px;align-items:center}.landing-ribbon{flex:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9d8d0;border-bottom:1px solid #d9d8d0;padding:clamp(9px,1.7vh,23px) 0;margin-top:0}.landing-ribbon>div{display:flex;align-items:flex-start;gap:17px;padding:0 30px;border-right:1px solid #d9d8d0}.landing-ribbon>div:first-child{padding-left:0}.landing-ribbon>div:last-child{border:0}.ribbon-number{font:11px DM Mono,monospace;color:#ee6653}.landing-ribbon b,.landing-ribbon small{display:block}.landing-ribbon b{font-size:12px}.landing-ribbon small{margin-top:7px;color:#858b87;font:10px DM Mono,monospace}.landing-bottom{flex:none;padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.landing-bottom h2{margin:0;font-size:clamp(22px,min(4.2vw,5.4vh),60px);line-height:.96;letter-spacing:-.07em}.landing-bottom h2 span{font-family:Playfair Display,serif;font-style:italic;font-weight:600}.landing-bottom>p{max-width:390px;margin:0 0 7px;color:#777e79;line-height:1.6;font-size:clamp(12px,1.7vh,14px)}.app-shell{min-height:100dvh;display:flex;background:#f3f1eb;padding-bottom:env(safe-area-inset-bottom)}.app-shell *,.landing-shell *{min-width:0}.sidebar{position:fixed;z-index:30;width:238px;height:100dvh;transition:transform .22s cubic-bezier(.23,1,.32,1);padding:28px 18px 22px;background:#101516;color:#e6ebe7;display:flex;flex-direction:column}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 10px 50px}.sidebar .wordmark{color:#f3f1eb}.sidebar .wordmark-mark{width:20px;height:20px}.sidebar-caption{padding:0 12px;margin:0 0 12px;color:#59635e;font:9px DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.sidebar-caption.spaced{margin-top:42px}.side-nav{display:grid;gap:4px}.side-link{min-height:42px;padding:0 12px;border-radius:8px;color:#89938d;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;transition:.16s}.side-link:hover{color:#edf3ee;background:#1d2424}.side-link.active{color:#f4f5ef;background:#242d2c}.nav-live{margin-left:auto;color:#65cda0;font:9px DM Mono,monospace;text-transform:uppercase}.sidebar-bottom{margin-top:auto}.trust-box{display:flex;gap:10px;padding:14px 12px;border:1px solid #2b3632;border-radius:10px;margin-bottom:17px;color:#78847d}.trust-box svg{color:#65cda0;flex:none}.trust-box strong,.trust-box span{display:block}.trust-box strong{font-size:10px;color:#bfc8c2}.trust-box span{margin-top:4px;font:9px DM Mono,monospace}.user-chip{width:100%;padding:8px 9px;border:1px solid #2b3632;border-radius:10px;background:#171e1e;color:#d9e0da;display:flex;align-items:center;gap:9px;text-align:left}.user-chip:hover{background:#222c2a}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f4d4b7;color:#121718;font-size:12px;font-weight:800}.user-chip-copy{min-width:0;flex:1}.user-chip-copy b,.user-chip-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-copy b{font-size:11px}.user-chip-copy small{margin-top:3px;color:#77827b;font:9px DM Mono,monospace}.shell-content{width:calc(100% - 238px);margin-left:238px;min-height:100dvh;display:flex;flex-direction:column;transition:width .22s cubic-bezier(.23,1,.32,1),margin-left .22s cubic-bezier(.23,1,.32,1)}.app-header{height:74px;padding:env(safe-area-inset-top) 4vw 0;border-bottom:1px solid #dfddd5;display:flex;align-items:center;gap:17px;background:#f3f1eb}.header-spacer{flex:1}.header-pulse{display:flex;align-items:center;gap:8px;color:#7d8580;font:9px DM Mono,monospace;text-transform:uppercase}.header-avatar{width:32px;height:32px;border-radius:50%;background:#121718;color:#f2f1eb;font-size:11px;font-weight:800}.menu-button,.mobile-page-title,.sidebar-close{display:none}.page-content{flex:1 1 auto;width:100%;padding:clamp(22px,3.4vw,46px) 5vw clamp(30px,3.6vw,58px);max-width:1460px;margin-inline:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading h1{margin:0;font-size:clamp(32px,4vw,52px);line-height:.98;letter-spacing:-.075em}.heading-detail{margin:13px 0 0;color:#7d8580;font-size:13px}.page-heading em{font-size:1.06em}.dashboard-hero{min-height:clamp(240px,30vw,325px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));background:#121918;border-radius:16px;overflow:hidden;color:#f2f2ec}.hero-panel-copy{padding:clamp(24px,3.2vw,39px) clamp(22px,3.4vw,43px)}.mini-label,.live-label{display:flex;align-items:center;gap:9px;color:#78d2aa;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.11em}.hero-panel-copy h2{margin:24px 0 14px;font-size:clamp(30px,4vw,52px);letter-spacing:-.07em;line-height:.98}.hero-panel-copy h2 span{color:#b3f3d0;font-family:Playfair Display,serif;font-style:italic}.hero-panel-copy p{max-width:390px;margin:0 0 25px;color:#9ca8a1;font-size:13px;line-height:1.7}.entry-note{margin-top:16px;color:#718078;display:flex;align-items:center;gap:7px;font:9px DM Mono,monospace}.hero-panel-graphic{position:relative;min-height:clamp(190px,24vw,325px);overflow:hidden;background:radial-gradient(circle at center,#33413c 0,#17201f 45%,#121918 72%)}.orbit{position:absolute;inset:17% 16%;border:1px solid rgba(179,243,208,.19);border-radius:50%;transform:rotate(-25deg) skew(-8deg)}.orbit-two{inset:12% 26%;transform:rotate(58deg) skew(10deg);border-color:#ff735c3b}.graphic-word{position:absolute;inset:0;display:grid;place-items:center;color:#ecf7ed12;font-size:102px;font-weight:800;letter-spacing:-.13em}.hero-die{position:absolute;left:46%;top:39%;width:70px;height:70px;display:grid;place-items:center;border-radius:17px;background:#b3f3d0;color:#14201d;font-size:29px;font-weight:800;transform:rotate(12deg);box-shadow:0 16px 25px #0000004d}.floating-chip{position:absolute;display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#0f1615a8;color:#cad6ce;font:9px DM Mono,monospace}.floating-chip svg{color:#65cda0}.chip-one{top:23%;left:14%}.chip-two{right:12%;bottom:22%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:13px;margin-top:14px}.stat-card{padding:19px 20px;background:#fffdf8;border:1px solid #e3e1da;border-radius:12px;min-height:132px}.stat-card-top{display:flex;justify-content:space-between;align-items:center;color:#8b918d;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.stat-card-top svg{color:#aeb4af}.stat-card strong{display:block;margin-top:19px;font-size:27px;letter-spacing:-.06em}.stat-card small{display:block;margin-top:5px;color:#9ca29d;font:9px DM Mono,monospace}.tone-mint{background:#ecf6ef;border-color:#d1e8d8}.tone-mint .stat-card-top svg{color:#65b88d}.tone-coral{background:#fff0eb;border-color:#f2d9d0}.tone-coral .stat-card-top svg{color:#ee6653}.tone-gold{background:#fff7e6;border-color:#efdfbd}.tone-gold .stat-card-top svg{color:#dfa451}.split-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;margin-top:14px}.section-card{background:#fffdf8;border:1px solid #e3e1da;border-radius:12px;padding:23px}.section-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.section-card-header h3{margin:0;font-size:17px;letter-spacing:-.05em}.recent-list{margin-top:23px;display:grid}.recent-row{display:grid;grid-template-columns:35px 1fr auto 17px;align-items:center;gap:12px;min-height:62px;border-top:1px solid #ebe9e2;font-size:11px}.recent-symbol,.history-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#f0eee7;color:#7b837d}.recent-row b,.recent-row small{display:block}.recent-row small{margin-top:4px;color:#9ba19d;font:9px DM Mono,monospace}.status-tag{padding:6px 8px;border-radius:5px;background:#f0eee7;color:#7c837f;font:9px DM Mono,monospace;text-transform:uppercase}.status-active{background:#e6f5ed;color:#3f9c70}.status-completed{background:#fff4d7;color:#a2792e}.status-abandoned{background:#ffebe6;color:#d96857}.safety-card{background:#121918;color:#e9ede8}.safety-card .eyebrow{color:#738079}.safety-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#26332e;color:#b3f3d0;margin-bottom:25px}.safety-card h3{font-size:clamp(19px,2.2vw,24px);letter-spacing:-.06em;margin:0 0 13px}.safety-card>p{color:#9aa69f;font-size:12px;line-height:1.7}.safety-rule{padding:13px 0;border-top:1px solid #293632;color:#b6c4bc;font:10px DM Mono,monospace;display:flex;gap:8px;align-items:center}.safety-rule svg{color:#65cda0}.match-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;align-items:stretch}.queue-card{min-height:clamp(390px,52vh,580px);padding:clamp(22px,3vw,35px);background:#121918;border-radius:15px;color:#eff3ed;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;position:relative}.queue-card:after{content:"";position:absolute;width:250px;height:250px;right:-100px;bottom:-110px;border:1px solid rgba(179,243,208,.15);border-radius:50%;box-shadow:0 0 0 30px #b3f3d008,0 0 0 60px #b3f3d005}.queue-card-top{width:100%;display:flex;justify-content:space-between;align-items:center}.queue-icon{width:42px;height:42px;display:grid;place-items:center;background:#24302c;border-radius:11px;color:#b3f3d0}.queue-card h2{margin:20px 0 13px;font-size:clamp(26px,3.4vw,39px);line-height:.97;letter-spacing:-.07em}.queue-card p{max-width:380px;color:#9aa69f;font-size:13px;line-height:1.75}.queue-card .full{margin-top:auto;position:relative;z-index:1}.queue-card .secondary-button{background:transparent;border-color:#3b4942;color:#d6e1da}.queue-card .secondary-button:hover{background:#24302c;border-color:#61736a}.play-symbol{width:140px;height:140px;margin:56px 0 5px;display:grid;grid-template-columns:1fr 1fr;gap:7px;transform:rotate(45deg)}.play-symbol span{border-radius:18px}.play-symbol span:nth-child(1){background:#ee6653}.play-symbol span:nth-child(2){background:#b3f3d0}.play-symbol span:nth-child(3){background:#ffc66d}.play-symbol span:nth-child(4){background:#a88bff}.queue-active .queue-icon{animation:pulse 1.8s infinite}.queue-orbit{position:relative;width:170px;height:170px;margin:43px auto 8px;display:grid;place-items:center}.queue-ring{position:absolute;inset:0;border:1px solid rgba(179,243,208,.24);border-radius:50%;animation:orbit 5s linear infinite}.ring-2{inset:14px;border-color:#ff735c4d;animation-duration:4s;animation-direction:reverse}.ring-3{inset:30px;border-color:#ffc66d47;animation-duration:3s}.queue-counter{font-size:42px;font-weight:800;letter-spacing:-.08em}.queue-metrics{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-top:1px solid #2d3b35;margin:26px 0 25px;padding-top:17px}.queue-metrics span+span{border-left:1px solid #2d3b35;padding-left:13px}.queue-metrics b,.queue-metrics small{display:block}.queue-metrics b{font-size:17px}.queue-metrics small{margin-top:5px;color:#758279;font:8px DM Mono,monospace;text-transform:uppercase}.match-info{display:flex;flex-direction:column;gap:14px}.info-block{background:#fffdf8;border:1px solid #e3e1da;border-radius:14px;padding:30px}.info-block h3{margin:0 0 26px;font-size:29px;letter-spacing:-.07em}.info-step{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:17px 0;border-top:1px solid #e7e5de}.info-step>span{color:#ee6653;font:10px DM Mono,monospace}.info-step b{font-size:12px}.info-step p{margin:6px 0 0;color:#8a918c;font-size:11px;line-height:1.55}.fee-card{padding:20px;background:#fff4d7;border:1px solid #efdfbd;border-radius:14px;display:flex;gap:13px;align-items:flex-start}.fee-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#ffc66d;color:#6e5322;flex:none}.fee-card b{font-size:12px}.fee-card p{margin:6px 0 0;color:#8c7444;font-size:11px;line-height:1.5}.game-page{max-width:1380px;margin:auto}.game-topbar{height:40px;display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.back-link{display:inline-flex;align-items:center;gap:8px;color:#78807b;background:transparent;font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.back-link:hover{color:#ee6653}.game-identity{display:flex;align-items:center;gap:17px}.table-live{color:#78817b;display:flex;gap:8px;align-items:center;font:9px DM Mono,monospace;text-transform:uppercase}.game-code{display:flex;align-items:center;gap:7px;color:#121718;background:transparent;font:10px DM Mono,monospace}.game-connection{display:flex;align-items:center;gap:7px;color:#6f7973;font:9px DM Mono,monospace;text-transform:uppercase}.connection-bars{display:flex;gap:2px;align-items:flex-end;height:12px}.connection-bars i{display:block;width:3px;background:#65cda0;border-radius:2px}.connection-bars i:nth-child(1){height:5px}.connection-bars i:nth-child(2){height:8px}.connection-bars i:nth-child(3){height:11px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,310px);gap:14px}.board-column{min-width:0}.turn-strip{min-height:68px;padding:14px 18px;background:#fffdf8;border:1px solid #e3e1da;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.turn-strip strong{display:block;font-size:17px;letter-spacing:-.04em}.timer-pill{display:flex;align-items:center;gap:7px;padding:10px 11px;border:1px solid #e3e1da;border-radius:8px;color:#ee6653;font:11px DM Mono,monospace}.board-wrap{background:#121918;border-radius:16px;padding:clamp(10px,1.6vw,18px);min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.ludo-board{position:relative;width:min(100%,620px,74vh);aspect-ratio:1;border:7px solid #e7e4da;border-radius:13px;background:#f7f4ec;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);gap:2px;box-shadow:0 16px 35px #0000003d;overflow:hidden}.diamond-coral{background:#ee6653;clip-path:polygon(50% 50%,0 0,0 100%)}.diamond-mint{background:#65b88d;clip-path:polygon(50% 50%,0 0,100% 0)}.diamond-gold{background:#dfa451;clip-path:polygon(50% 50%,100% 0,100% 100%)}.diamond-violet{background:#8c73d4;clip-path:polygon(50% 50%,0 100%,100% 100%)}.piece{position:relative;width:68%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,255,255,.76);box-shadow:0 3px 6px #12171838;z-index:5;padding:0;transition:transform .17s,box-shadow .17s;flex:none}.piece:after{content:"";position:absolute;inset:22%;border-radius:50%;border:1px solid rgba(18,23,24,.25)}.piece-mint{background:#65b88d}.piece-gold{background:#dfa451}.piece-violet{background:#8c73d4}.piece-compact{width:75%;border-width:2px}.piece-home{position:absolute;width:8%;z-index:7}.piece-valid{cursor:pointer;animation:piece-float 1.15s ease-in-out infinite alternate;box-shadow:0 0 0 4px #ffffff73,0 4px 12px #12171840}.piece-valid:hover{transform:scale(1.2)}.piece-pulse{position:absolute;inset:-8px;border:1px solid currentColor;border-radius:50%;opacity:.6;animation:pulse-ring 1.2s infinite}.board-caption{display:flex;justify-content:space-between;padding:11px 3px 0;color:#88918b;font:9px DM Mono,monospace;text-transform:uppercase}.board-caption>span:first-child{display:flex;align-items:center;gap:7px;color:#559c79}.game-feedback{min-height:28px;display:flex;align-items:center;justify-content:center;margin-top:9px;padding:0 12px;border-radius:8px;background:#e8f5ec;color:#4b8e69;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;opacity:0;transform:translateY(4px);transition:.2s}.game-feedback.show{opacity:1;transform:none}.game-side{display:flex;flex-direction:column;gap:13px}.dice-card,.players-card,.game-log{background:#fffdf8;border:1px solid #e3e1da;border-radius:13px;padding:20px}.dice-card-top{display:flex;justify-content:space-between}.move-prompt{color:#ee6653;font:9px DM Mono,monospace;text-transform:uppercase}.dice-rolling{animation:dice-bounce .55s ease-in-out infinite alternate}.server-note{margin:12px 0 0;display:flex;justify-content:center;align-items:center;gap:5px;color:#98a09b;font:8px DM Mono,monospace;text-transform:uppercase}.server-note svg{color:#65b88d}.players-card .section-card-header{margin-bottom:12px}.players-card h3{font-size:16px}.players-card .section-card-header>svg{color:#aeb5af}.player-list{display:grid}.player-row{min-height:55px;border-top:1px solid #ebe9e2;display:flex;align-items:center;gap:8px;position:relative}.player-row.player-you{background:#f8f6ef;margin:0 -10px;padding:0 10px;border-radius:7px}.player-color{width:4px;height:24px;border-radius:3px;flex:none}.mini-avatar{width:27px;height:27px;font-size:10px}.player-copy{min-width:0;flex:1}.player-copy b,.player-copy span{display:block}.player-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-copy b small{font:8px DM Mono,monospace;color:#65b88d;text-transform:uppercase}.player-copy span{margin-top:3px;color:#9aa19d;font:8px DM Mono,monospace}.turn-mark{padding-right:4px}.game-log{padding:17px}.game-log p:last-child{margin:0;color:#737c76;font-size:10px;line-height:1.6}.log-time{color:#65b88d;font:9px DM Mono,monospace;text-transform:uppercase}.leave-table{padding:5px 0;background:transparent;color:#9da49f;display:flex;align-items:center;justify-content:center;gap:7px;font:9px DM Mono,monospace;text-transform:uppercase}.leave-table:hover{color:#ee6653}.wallet-balance-pill{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #e0ded6;background:#fffdf8;border-radius:9px;color:#dfa451}.wallet-balance-pill b{color:#121718;font-size:14px}.wallet-balance-pill span{color:#858d87;font:9px DM Mono,monospace;text-transform:uppercase}.wallet-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px}.balance-card{position:relative;min-height:clamp(225px,26vw,320px);padding:clamp(22px,2.6vw,32px);background:#121918;border-radius:15px;color:#edf1eb;overflow:hidden}.balance-orbit{position:absolute;width:290px;height:290px;right:-135px;top:-82px;border:1px solid rgba(255,198,109,.27);border-radius:50%;box-shadow:0 0 0 25px #ffc66d0a,0 0 0 52px #ffc66d08}.balance-card .eyebrow{color:#829087}.balance-card strong{display:block;position:relative;margin-top:clamp(22px,4vw,46px);font-size:clamp(38px,7vw,67px);letter-spacing:-.1em}.balance-card>span{position:relative;color:#8e9a92;font:10px DM Mono,monospace;text-transform:uppercase}.balance-footer{position:absolute;bottom:25px;left:32px;color:#708078;display:flex;align-items:center;gap:7px;font:9px DM Mono,monospace;text-transform:uppercase}.balance-footer svg{color:#65cda0}.ledger-card{min-height:320px}.transaction-list{margin-top:16px}.transaction-row{min-height:62px;border-top:1px solid #ebe9e2;display:flex;align-items:center;gap:11px}.transaction-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-size:18px}.transaction-icon.positive{background:#e4f4e9;color:#4aaf7c}.transaction-icon.negative{background:#fff0eb;color:#e56a57}.transaction-row span:nth-child(2){flex:1}.transaction-row b,.transaction-row small{display:block}.transaction-row b{font-size:11px}.transaction-row small{margin-top:4px;color:#9aa19d;font:9px DM Mono,monospace}.transaction-row>strong{font:12px DM Mono,monospace}.amount-positive{color:#4aa976}.amount-negative{color:#e56a57}.wallet-footnote,.profile-note{margin-top:14px;padding:17px 19px;display:flex;gap:12px;border:1px solid #e3e1da;border-radius:11px;background:#fff8e7;color:#7c6a43;font-size:11px;line-height:1.55}.wallet-footnote svg,.profile-note svg{color:#d39b3e;flex:none;margin-top:2px}.wallet-footnote p,.profile-note p{margin:0}.history-card{border:1px solid #e3e1da;border-radius:13px;background:#fffdf8;padding:0 22px;overflow:hidden}.history-table-head,.history-row{display:grid;grid-template-columns:1.3fr 1.1fr .8fr .8fr 1fr 18px;align-items:center;gap:12px}.history-table-head{min-height:45px;color:#989f9a;border-bottom:1px solid #e3e1da;font:9px DM Mono,monospace;text-transform:uppercase}.history-row{min-height:72px;border-bottom:1px solid #ebe9e2;font-size:11px}.history-row:last-child{border:0}.history-game{display:flex;align-items:center;gap:10px}.history-icon{width:30px}.reward-win{display:flex;align-items:center;gap:5px;color:#bd8e37}.status-tag.large{display:inline-flex;padding:8px 10px}.detail-page>.back-link{margin-bottom:25px}.detail-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.detail-result{min-height:270px;padding:31px;background:#121918;border-radius:14px;color:#edf1eb}.result-badge{width:49px;height:49px;display:grid;place-items:center;background:#ffc66d;color:#5e461d;border-radius:14px;margin-bottom:27px}.detail-result h2{margin:0;font-size:30px;letter-spacing:-.07em}.detail-result>p:last-child{color:#8fa097;font:10px DM Mono,monospace}.detail-players{padding:24px;background:#fffdf8;border:1px solid #e3e1da;border-radius:14px}.detail-player{min-height:52px;border-top:1px solid #ebe9e2;display:flex;align-items:center;gap:9px;font-size:11px}.winner-check{margin-left:auto;color:#65b88d}.profile-hero{display:flex;align-items:center;gap:20px;padding:30px;background:#121918;border-radius:14px;color:#edf1eb}.profile-avatar{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:#b3f3d0;color:#121918;font-size:30px;font-weight:800}.profile-hero h2{margin:0;font-size:28px;letter-spacing:-.07em}.profile-hero>div:nth-child(2)>p:last-child{margin:6px 0 0;color:#8d9a91;font:10px DM Mono,monospace}.profile-verified{margin-left:auto;display:flex;align-items:center;gap:6px;color:#65cda0;font:9px DM Mono,monospace;text-transform:uppercase}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;margin-top:14px}.profile-note{background:#e9f6ed;border-color:#d1e8d8;color:#4b7860}.profile-note svg{color:#65b88d}.settings-card{border:1px solid #e3e1da;border-radius:13px;background:#fffdf8;padding:0 23px}.settings-row{min-height:78px;border-bottom:1px solid #ebe9e2;display:flex;align-items:center;gap:13px}.settings-row:last-child{border:0}.settings-icon{width:33px;height:33px;display:grid;place-items:center;background:#f0eee7;color:#7c857e;border-radius:8px}.settings-row>span:nth-child(2){flex:1}.settings-row b,.settings-row small{display:block}.settings-row b{font-size:11px}.settings-row small{margin-top:4px;color:#969e98;font:9px DM Mono,monospace}.toggle{width:39px;height:23px;padding:3px;border-radius:20px;background:#d8d8d0}.toggle i{display:block;width:17px;height:17px;background:#fff;border-radius:50%;transition:transform .18s}.toggle.on{background:#65b88d}.toggle.on i{transform:translate(16px)}.toggle.disabled{opacity:.5}.setting-value{display:flex;align-items:center;gap:5px;color:#4aab77;font:9px DM Mono,monospace;text-transform:uppercase}.danger-card{margin-top:14px;padding:24px;border:1px solid #f0d9d0;border-radius:13px;background:#fff2ed;display:flex;justify-content:space-between;align-items:center;gap:20px}.danger-card h3{margin:0;font-size:20px;letter-spacing:-.06em}.danger-card p:last-child{margin:7px 0 0;color:#9b817b;font-size:11px;line-height:1.5}.empty-state{padding:42px 15px;text-align:center;color:#8c938e}.empty-icon{width:40px;height:40px;display:grid;place-items:center;margin:0 auto 12px;border-radius:11px;background:#f0eee7;color:#88908a}.empty-state h4{margin:0;color:#3d4540;font-size:14px}.empty-state p{margin:7px auto 15px;max-width:300px;line-height:1.6;font-size:11px}.error-state{max-width:420px;margin:80px auto;padding:40px;text-align:center;border:1px solid #efd7cf;border-radius:14px;background:#fff5f0;color:#8d6e67}.error-state svg{color:#ee6653}.error-state h3{margin:17px 0 7px;color:#3e2824;font-size:20px}.error-state p{font-size:12px;line-height:1.6;margin:0 0 20px}@keyframes pulse{0%,to{box-shadow:0 0 #65cda026}50%{box-shadow:0 0 0 9px #65cda005}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes piece-float{to{transform:translateY(-3px)}}@keyframes piece-move-pop{0%{transform:scale(.82);filter:brightness(1.35)}65%{transform:scale(1.14);filter:brightness(1.12)}to{transform:scale(1);filter:none}}.ludo-board.move-feedback .piece{animation:piece-move-pop .38s cubic-bezier(.23,1,.32,1)}@keyframes pulse-ring{0%{transform:scale(.82);opacity:.7}to{transform:scale(1.2);opacity:0}}@keyframes dice-bounce{to{transform:rotate(7deg) translateY(-7px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width: 1050px){.landing-main{padding-top:2vh}.hero-grid{gap:3vw}.page-content{padding-left:4vw;padding-right:4vw}.sidebar{width:215px}.shell-content{width:calc(100% - 215px);margin-left:215px}.game-layout{grid-template-columns:minmax(0,1fr) 270px}.board-wrap{padding:12px;min-height:470px}}@media (max-width: 780px){.landing-nav{padding:20px 6vw}.nav-kicker{display:none}.nav-login{margin-left:auto}.hero-copy{padding:0}.art-board{width:min(70vw,310px)}.landing-ribbon{grid-template-columns:1fr;gap:16px}.landing-ribbon>div,.landing-ribbon>div:first-child{padding:0;border:0}.landing-bottom{grid-template-columns:1fr;gap:20px}.sidebar{transform:translate(-100%);transition:transform .22s cubic-bezier(.23,1,.32,1);box-shadow:20px 0 35px #0000002b}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close{display:grid;color:#7b857e}.mobile-overlay{position:fixed;inset:0;z-index:20;background:#090d0d6b;border:0}.shell-content{width:100%;margin:0}.app-header{height:64px;padding:0 18px;position:sticky;top:0;z-index:10}.menu-button{display:grid}.mobile-page-title{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:800}.mobile-page-title small{color:#929a94;font:8px DM Mono,monospace}.header-pulse{display:none}.page-content{padding:29px 18px calc(60px + env(safe-area-inset-bottom))}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:25px;gap:15px}.page-heading h1{font-size:40px}.dashboard-hero{grid-template-columns:1fr}.hero-panel-graphic{display:none}.hero-panel-copy{padding:28px 25px 30px}.hero-panel-copy h2{font-size:39px}.stats-grid{grid-template-columns:1fr 1fr}.split-section{grid-template-columns:1fr}.safety-card{min-height:260px}.match-layout{grid-template-columns:1fr}.queue-card{min-height:530px}.game-topbar{margin-bottom:14px}.game-identity{gap:9px}.game-connection{display:none}.game-code{font-size:9px}.game-layout{grid-template-columns:1fr}.game-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.dice-card,.game-log,.leave-table{grid-column:1 / -1}.board-wrap{min-height:0;padding:10px}.ludo-board{border-width:4px}.board-caption{font-size:8px}.wallet-layout,.detail-layout{grid-template-columns:1fr}.balance-card{min-height:250px}.profile-stats{grid-template-columns:1fr}.history-card{padding:0 13px;overflow:auto}.history-table-head,.history-row{min-width:650px}.danger-card{align-items:flex-start;flex-direction:column}}@media (max-width: 420px){.page-heading h1{font-size:35px}.secondary-button.compact{padding:0 10px}.dashboard-hero{margin-left:-2px;margin-right:-2px}.hero-panel-copy{padding:26px 21px}.stats-grid{gap:8px}.stat-card{padding:15px 13px;min-height:121px}.stat-card strong{font-size:24px}.section-card{padding:17px}.queue-card{padding:24px}.queue-card h2{font-size:36px}.game-identity .table-live{display:none}.game-side{grid-template-columns:1fr}.dice-card,.game-log,.leave-table{grid-column:auto}.dice{width:76px;height:76px}.board-caption{display:grid;gap:6px}.balance-card strong{font-size:57px}}@media (max-height: 760px){.landing-bottom{display:none}}@media (max-height: 620px){.landing-ribbon{display:none}}@media (max-width: 780px){.landing-main{padding:0 6vw calc(2.4vh + env(safe-area-inset-bottom))}.hero-grid{grid-template-columns:1fr 1fr;gap:4vw;min-height:0}.hero-copy h1{font-size:clamp(30px,min(7.4vw,9.5vh),92px)}.landing-ribbon{grid-template-columns:1fr;gap:clamp(6px,1.4vh,16px);margin-top:0}}@media (max-width: 620px){.hero-grid{grid-template-columns:1fr;gap:0}.hero-art{display:none}.hero-copy h1{font-size:clamp(34px,min(12vw,9.5vh),92px)}}.sidebar-collapse{display:grid;color:#7b857e}.sidebar-toggle{display:grid}.app-shell.sidebar-hidden .sidebar{transform:translate(-100%)}.app-shell.sidebar-hidden .shell-content{width:100%;margin-left:0}.app-footer{padding:0 5vw clamp(18px,2.4vw,30px);max-width:1460px;width:100%;margin-inline:auto;display:flex;justify-content:flex-end}.build-credit{color:#9aa19c;font:9px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:color .18s ease}.build-credit b{font-weight:500;color:#7d857f}.build-credit:hover,.build-credit:hover b{color:#ee6653}.landing-footer{flex:none;padding:0 5vw calc(1.6vh + env(safe-area-inset-bottom));display:flex;justify-content:flex-end}@media (min-width: 1700px){.page-content,.landing-nav,.landing-main{max-width:1560px}}@media (max-width: 390px){.page-content{padding-left:14px;padding-right:14px}.page-heading h1{font-size:clamp(26px,8.5vw,35px)}.app-footer{padding-left:14px;padding-right:14px;justify-content:center}.history-table-head,.history-row{min-width:560px}}@media (max-height: 500px) and (orientation: landscape){.app-header{height:52px}.page-content{padding-top:16px;padding-bottom:20px}.dashboard-hero,.hero-panel-graphic{min-height:0}}@media (max-width: 780px){.sidebar-collapse,.sidebar-toggle{display:none}.app-shell.sidebar-hidden .shell-content{width:100%;margin-left:0}}.ludo-board{container-type:size;background:#dcd8ca;box-shadow:0 18px 44px #12171829,inset 0 0 0 1px #1217180d;padding:4px;gap:1px}.board-yard{position:relative;padding:6%;border-radius:10px}.yard-coral{background:#ee6653}.yard-mint{background:#6cbf95}.yard-gold{background:#e6ae55}.yard-violet{background:#9b83e0}.yard-inner{height:100%;border-radius:8px;background:#ffffffe6;display:flex;flex-direction:column;padding:7%;gap:4%}.yard-active{box-shadow:0 0 0 3px #1217188c,0 8px 20px #12171847;z-index:3}.yard-name{color:#1217188c;font:600 clamp(6px,2.1cqw,11px) "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yard-slots{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6%}.yard-slot{display:grid;place-items:center;border-radius:50%;background:#12171812;box-shadow:inset 0 1px 2px #1217181f}.yard-slot .piece{width:78%}.track-cell{position:relative;display:grid;place-items:center;background:#fffdf7;border-radius:2px;box-shadow:inset 0 0 0 1px #12171821;min-width:0;min-height:0}.safe-cell{background:#e4e9dd;box-shadow:inset 0 0 0 1px #3a544059}.start-cell{box-shadow:inset 0 0 0 max(1px,.4cqw) #12171873}.start-coral{background:#f5a091}.start-mint{background:#93d6b4}.start-gold{background:#f0d097}.start-violet{background:#c3b2ee}.cell-mark{position:absolute;color:#1217186b;font-size:clamp(5px,1.9cqw,11px);line-height:1;pointer-events:none}.cell-start{color:#12171873}.cell-pieces{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:2%}.stack-count{position:absolute;right:0;bottom:0;z-index:4;min-width:42%;padding:0 1px;border-radius:99px;background:#121718;color:#fff;font:700 clamp(5px,1.6cqw,9px)/1.5 "DM Mono",monospace;text-align:center}.home-lane{position:relative;display:grid;place-items:center;border-radius:2px;min-width:0;min-height:0;box-shadow:inset 0 0 0 1px #ffffff8c}.lane-coral{background:#f08d7d}.lane-mint{background:#86cea9}.lane-gold{background:#ecc27e}.lane-violet{background:#b39ce9}.board-center{grid-column:7 / 10;grid-row:7 / 10;position:relative;z-index:3;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px #12171824}.center-wedge{position:absolute;inset:0}.wedge-coral{background:#ee6653;clip-path:polygon(0 0,50% 50%,0 100%)}.wedge-mint{background:#6cbf95;clip-path:polygon(0 0,100% 0,50% 50%)}.wedge-gold{background:#e6ae55;clip-path:polygon(100% 0,100% 100%,50% 50%)}.wedge-violet{background:#9b83e0;clip-path:polygon(0 100%,50% 50%,100% 100%)}.wedge-active{filter:brightness(1.12) saturate(1.15)}.center-core{position:absolute;inset:27%;z-index:2;display:grid;place-items:center;gap:1px;border-radius:50%;background:#fffdf7;color:#121718;box-shadow:0 2px 6px #1217184d}.center-core svg{width:clamp(8px,3cqw,16px);height:auto}.center-core b{font:700 clamp(6px,2.2cqw,12px)/1 "DM Mono",monospace}.board-legend{width:min(100%,620px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px;margin-top:12px}.legend-item{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e3e1da;border-radius:9px;background:#fffdf8;color:#6f776f;font:9px DM Mono,monospace;text-transform:uppercase}.legend-item i{width:9px;height:9px;border-radius:50%;flex:none}.legend-item b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#121718;font-size:10px}.legend-item em{font-style:normal;color:#98a09a}.legend-active{border-color:#121718;box-shadow:0 0 0 1px #121718}.legend-active em{color:#121718}.piece{position:relative;width:74%;aspect-ratio:1;border-radius:50%;border:0;padding:0;z-index:5;cursor:default;box-shadow:inset 0 18% 0 #ffffff73,inset 0 -22% 0 #1217182e,0 0 0 max(1px,.4cqw) #ffffffe6,0 max(1px,.5cqw) max(2px,1cqw) #1217184d;transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s}.piece:after{content:"";position:absolute;inset:30%;border-radius:50%;background:#fff6}.piece-compact{width:86%}.piece-stacked{width:62%}.piece-coral{background:#ee6653}.piece-mint{background:#4fae7f}.piece-gold{background:#d99a3f}.piece-violet{background:#7f63cc}.piece-valid{cursor:pointer;animation:piece-float 1.15s ease-in-out infinite alternate;box-shadow:inset 0 18% 0 #ffffff73,inset 0 -22% 0 #1217182e,0 0 0 max(2px,.7cqw) #121718,0 max(2px,.7cqw) max(4px,1.4cqw) #12171866}.piece-valid:hover{transform:scale(1.18)}.piece-pulse{position:absolute;inset:-22%;border:max(1px,.35cqw) solid currentColor;border-radius:50%;opacity:.55;animation:pulse-ring 1.2s infinite}.dice{width:clamp(74px,22vw,96px);aspect-ratio:1;margin:16px auto 18px;display:grid;place-items:center;border-radius:22%;background:linear-gradient(150deg,#1d2627,#101516);box-shadow:7px 7px #65b88d,inset 0 2px #ffffff24;transform:rotate(-6deg)}.dice-pips{width:66%;height:66%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center}.dice-pips i{width:74%;aspect-ratio:1;border-radius:50%;background:#b3f3d0;box-shadow:0 1px 2px #00000073}.dice-empty{color:#46524d;font-size:34px;line-height:1}
