@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7f7ff;background:#0b1025;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #bdb1ff;outline-offset:3px}h1,h2,p{margin-top:0}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 8% 14%,#25204f 0,transparent 27%),radial-gradient(circle at 91% 15%,#171f4a 0,transparent 31%),#0b1025;overflow:hidden}.site-header,.site-footer{width:min(1320px,calc(100% - 72px));margin:0 auto;display:flex;align-items:center;justify-content:space-between}.site-header{height:84px;border-bottom:1px solid #ffffff18}.brand{display:flex;align-items:center;gap:13px;font-family:Outfit,sans-serif;font-weight:900;font-size:20px;letter-spacing:.11em}.brand-accent{color:#f8bd5d}.brand-mark{width:29px;height:29px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;transform:rotate(-12deg)}.brand-mark span{border-radius:50%;background:#f75c72;box-shadow:inset -2px -2px 3px #952247}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:#ffc96e;box-shadow:inset -2px -2px 3px #c38135}.header-right{display:flex;align-items:center;gap:8px}.header-caption{color:#858ca9;font-size:10px;letter-spacing:.23em;font-weight:800;margin-right:15px}.header-orb{width:15px;height:15px;border-radius:50%;box-shadow:inset -2px -2px 4px #0005}.header-orb.red{background:#f65b74}.header-orb.yellow{background:#fac45c}.site-footer{margin-top:auto;min-height:70px;color:#626987;font-size:11px;letter-spacing:.09em;border-top:1px solid #ffffff12}.site-footer span:first-child{font-family:Outfit,sans-serif;font-weight:800;letter-spacing:.16em}.setup-layout{width:min(1200px,calc(100% - 72px));margin:56px auto 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,510px);gap:70px;align-items:start}.intro{position:relative;min-height:740px;padding:52px 0 0}.eyebrow{display:flex;align-items:center;gap:10px;color:#beb4ff;font-size:11px;font-weight:800;letter-spacing:.22em}.eyebrow-line{width:24px;height:2px;background:#a993ff}.intro h1,.play-top h1{font-family:Outfit,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1.04}.intro h1{font-size:clamp(54px,5.2vw,76px);margin:30px 0 23px}.intro h1 em,.play-top h1 em{font-style:normal;background:linear-gradient(105deg,#f8bc70,#f77b8a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.intro p{max-width:495px;color:#a5abc7;font-size:16px;line-height:1.8}.feature-row{display:flex;flex-wrap:wrap;gap:17px;margin-top:34px;color:#c2c6da;font-size:12px;font-weight:700}.feature-row span{display:flex;align-items:center;gap:7px}.feature-row svg{color:#ad9eff}.hero-board{position:absolute;top:380px;left:49px;padding:18px;background:linear-gradient(135deg,#6358de,#3f3b9a);border-radius:20px;transform:rotate(-11deg);box-shadow:0 28px 45px #0008,0 0 90px #6e5ffc2a,inset 0 3px 3px #ffffff35}.hero-board:after{content:"";position:absolute;bottom:-14px;left:-17px;right:-17px;height:18px;border-radius:0 0 16px 16px;background:#333474;z-index:-1}.hero-board-grid{display:grid;grid-template-columns:repeat(7,47px);gap:9px}.hero-cell{height:47px;border-radius:50%;background:#171c44;box-shadow:inset 2px 4px 6px #0009,0 1px 1px #ffffff2e}.hero-cell.red{background:radial-gradient(circle at 34% 27%,#ff9c9e,#f65d78 56%,#b5315b);box-shadow:inset -3px -4px 4px #9f2947,0 2px 4px #0005}.hero-cell.yellow{background:radial-gradient(circle at 34% 27%,#ffe5a4,#ffcb67 56%,#d89037);box-shadow:inset -3px -4px 4px #ab702a,0 2px 4px #0005}.setup-card{background:#161c39;border:1px solid #383d60;border-radius:22px;box-shadow:0 24px 65px #02071865;overflow:hidden}.setup-tabs{display:flex;border-bottom:1px solid #303553}.setup-tabs button{flex:1;border:0;border-bottom:2px solid transparent;padding:20px;background:transparent;color:#8f97b8;font-weight:800;font-size:13px}.setup-tabs button.active{color:#f8f7ff;border-bottom-color:#ae9cff;background:#ffffff08}.setup-card form{padding:27px 32px 32px}.card-heading{margin-bottom:28px}.heading-icon,.side-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;color:#bbafff;background:#7a6dec29;margin-bottom:15px}.card-heading h2{font-family:Outfit,sans-serif;font-size:27px;letter-spacing:-.03em;margin:0 0 4px}.card-heading p{color:#9ca4c0;font-size:13px;line-height:1.5;margin:0}.form-section{border-top:1px solid #ffffff16;padding:22px 0}.section-label{color:#c6c9df;font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:16px}.section-label span{color:#8e85e4;margin-right:10px}.mode-options,.seat-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-option{text-align:left;min-height:115px;display:flex;flex-direction:column;gap:7px;padding:15px;border-radius:12px;color:#a4abc6;background:#1e2546;border:1px solid #363d61}.mode-option.selected{background:#302b64;border-color:#8d7cea;box-shadow:inset 0 0 0 1px #8d7cea44}.mode-option svg{color:#aa9bff}.mode-option strong{color:#f4f2ff;font-size:13px}.mode-option small{font-size:11px;line-height:1.35}.segmented{display:flex;gap:3px;padding:4px;background:#202645;border:1px solid #323a5a;border-radius:10px}.segmented button{flex:1;background:transparent;color:#a3abc8;border:0;border-radius:7px;padding:10px 7px;font-size:12px;font-weight:700}.segmented button.selected{background:#454078;color:#fff;box-shadow:0 2px 6px #0003}.segmented button:disabled{opacity:.65}.segmented.compact{padding:3px}.segmented.compact button{padding:7px 4px;font-size:11px}.board-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.identity-fields{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px;margin-top:14px}.profile-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:#313a60;font-size:21px}.field{display:flex;flex-direction:column;gap:8px;color:#c4c8df;font-size:11px;font-weight:800;letter-spacing:.02em}.field input,.field select{width:100%;border:1px solid #3b4265;background:#202644;border-radius:9px;color:#fff;padding:11px 12px;min-height:41px}.field input::placeholder{color:#656d90}.field select{appearance:auto}.field input[type=number]{appearance:textfield}.field input::-webkit-inner-spin-button{appearance:none}.validation{color:#ffb4a3;font-size:11px;line-height:1.4;margin:10px 0 0}.seat-setting{border-radius:12px;background:#202645;border:1px solid #373e60;padding:12px;min-width:0}.seat-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.seat-title strong{display:block;font-size:13px}.seat-title small{display:block;color:#9199b9;font-size:10px;margin-top:3px}.disc{display:block;border-radius:50%;background:#1b2142;box-shadow:inset 2px 3px 5px #0009}.disc.red{background:radial-gradient(circle at 33% 25%,#ffa5a4,#f7617c 55%,#bb315d);box-shadow:inset -3px -4px 5px #aa3152,0 2px 4px #0004}.disc.yellow{background:radial-gradient(circle at 33% 25%,#ffeab3,#fac968 55%,#d38c38);box-shadow:inset -3px -4px 5px #ae762e,0 2px 4px #0004}.disc.mini{width:24px;height:24px;flex:none}.small-field{margin-top:12px}.small-field select{padding:8px;min-height:35px}.form-hint{margin:12px 0 0;color:#8f98b6;font-size:11px}.primary-btn,.secondary-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:10px;padding:14px 18px;font-weight:800;transition:transform .18s,filter .18s}.primary-btn{background:linear-gradient(100deg,#ffcb75,#fa9c7d);color:#202143;box-shadow:0 8px 20px #dc8e6a27}.primary-btn:not(:disabled):hover,.secondary-btn:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08)}.primary-btn:disabled,.secondary-btn:disabled{opacity:.55}.code-input{text-transform:uppercase;letter-spacing:.16em;font-size:20px!important;font-weight:800;text-align:center;margin-bottom:20px}.error{border:1px solid #fa738462;background:#7b314445;color:#ffb9c4;border-radius:9px;padding:10px 13px;font-size:12px;line-height:1.4;margin:12px 0}.loading{width:min(1200px,calc(100% - 72px));margin:100px auto;color:#b8b5d9;display:flex;flex-direction:column;gap:15px}.play-layout{width:min(1280px,calc(100% - 72px));margin:43px auto 66px}.play-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.play-top h1{font-size:46px;margin:12px 0 5px}.play-top p{color:#a0a8c4;font-size:13px;margin:0}.dot-separator{padding:0 6px;color:#777e9f}.text-button,.subtle-btn{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #41476c;color:#d5d7e9;background:#202642;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800}.text-button:hover,.subtle-btn:hover{background:#30375d}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.arena,.side-card{background:#171d3a;border:1px solid #343b5e;border-radius:17px;box-shadow:0 15px 35px #0002}.arena{padding:20px 25px 23px;min-width:0}.arena-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.16em;color:#909bbb}.arena-label{display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:#9d91ff;box-shadow:0 0 9px #9d91ff}.players-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:22px 0 25px}.player-card{display:flex;align-items:center;gap:12px;min-width:0;padding:11px 12px;background:#202747;border:1px solid #41486c;border-radius:12px;transition:border-color .2s,background .2s}.player-card.active.red,.player-card.winner.red{border-color:#ef697d;background:#50304f}.player-card.active.yellow,.player-card.winner.yellow{border-color:#f0c570;background:#554b48}.disc.avatar{width:34px;height:34px;flex:none}.player-info{min-width:0}.player-info strong{display:block;font-size:13px;white-space:nowrap}.player-info>span{display:block;color:#aeb5cf;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-tag{margin-left:4px;color:#d0bdff;font-size:9px}.turn-badge,.winner-badge{color:#fad6d8;background:#b54d6742;border-radius:5px;padding:4px 6px;font-size:9px;font-weight:800;margin-left:auto}.player-card.yellow .turn-badge,.player-card.yellow .winner-badge{color:#ffe3a4;background:#bd914642}.versus{color:#777f9f;font-family:Outfit,sans-serif;font-weight:800;font-size:11px}.board-scroll{overflow:auto;max-height:72vh;padding:10px 0 20px;text-align:center}.board-wrap{width:max-content;margin:auto;max-width:none}.column-numbers{display:grid;gap:6px;padding:0 13px 9px;color:#9ea6c9;font-family:Outfit,sans-serif;font-size:12px;font-weight:700}.column-numbers span{display:grid;place-items:center}.game-board{display:grid;gap:6px;background:linear-gradient(135deg,#7067ed,#4945b7);padding:13px;border-radius:17px 17px 13px 13px;box-shadow:0 13px #34348a,0 25px 27px #070a1b91,inset 0 2px 3px #ffffff45}.board-column{display:flex;flex-direction:column;gap:6px;padding:0;background:transparent;border:0;border-radius:8px;transition:background .15s}.board-column:not(:disabled):hover,.board-column:not(:disabled):focus-visible{background:#ffffff2a;outline:0}.board-cell{width:var(--cell-size);height:var(--cell-size);display:grid;place-items:center;background:#151b3f;border-radius:50%;box-shadow:inset 2px 4px 6px #0008,0 1px 1px #ffffff35;padding:calc(var(--cell-size) * .07)}.board-cell>.disc{width:100%;height:100%}.board-cell.winning>.disc{outline:calc(var(--cell-size) * .055) solid #fff4b6;outline-offset:-3px;box-shadow:0 0 16px #ffed83,inset -3px -4px 5px #0004;animation:pulse 1.4s ease-in-out infinite alternate}.disc.just-played{animation:drop .45s cubic-bezier(.2,.9,.5,1.15) both}.board-base{height:13px;border-radius:0 0 50% 50%;background:#292c79;margin:12px 12px 0;box-shadow:0 5px 12px #0005}@keyframes drop{0%{transform:translateY(-110px) scale(.85);opacity:.25}to{transform:translateY(0) scale(1);opacity:1}}@keyframes pulse{to{filter:brightness(1.25);transform:scale(1.05)}}.status-line{display:flex;align-items:center;justify-content:center;gap:12px;margin:28px auto 2px;text-align:left}.status-line strong{display:block;font-family:Outfit,sans-serif;font-size:20px}.status-line span:not(.status-symbol){display:block;color:#9da5c4;font-size:12px;margin-top:3px}.status-symbol{font-size:28px;line-height:1;color:#f77d8f}.status-symbol.yellow{color:#ffcc69}.status-symbol.red{color:#f77d8f}.status-line.finished strong{color:#ffe5b8}.sidebar{display:flex;flex-direction:column;gap:15px}.side-card{padding:21px}.side-card h2{font-family:Outfit,sans-serif;font-size:17px;margin:0 0 8px}.side-card p{color:#99a2bf;font-size:12px;line-height:1.6;margin:0}.invite-card{background:linear-gradient(150deg,#2e2b62,#22264b);border-color:#655d9d}.room-code{display:flex;align-items:center;justify-content:space-between;background:#141b3a;border:1px dashed #9485e8;border-radius:9px;margin-top:18px;padding:9px 10px 9px 15px}.room-code span{font-family:Outfit,sans-serif;font-weight:800;font-size:20px;letter-spacing:.14em;color:#ede8ff}.room-code button{border:0;background:#514a87;color:#e9e4ff;border-radius:6px;width:30px;height:30px;display:grid;place-items:center}.invite-card small{display:block;color:#ada9d5;font-size:10px;margin-top:9px}.side-card-heading{display:flex;justify-content:space-between;align-items:center;color:#b1a9f5;margin-bottom:14px}.side-card-heading h2{margin:0;color:#fff}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #ffffff14;font-size:11px}.detail-row span{color:#9ba4c0}.detail-row strong{text-align:right;font-weight:700;color:#ececf5}.history-card .side-card-heading span{font-size:11px;color:#b0b6cc}.history-list{display:flex;flex-direction:column;gap:8px}.history-move{display:flex;align-items:center;gap:8px;color:#cbd0e1;font-size:11px}.history-move small{color:#7e87aa;margin-left:auto}.disc.tiny{width:13px;height:13px;flex:none}.game-actions{display:flex;flex-direction:column;gap:9px}.secondary-btn{background:linear-gradient(100deg,#7970e8,#6259c9);color:#fff;box-shadow:0 5px 15px #4842b54d}.subtle-btn{width:100%;background:transparent;border-color:#343b5e}.inline-link{color:#fff;background:none;border:0;text-decoration:underline;font-weight:800}@media(max-width:1050px){.setup-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(400px,480px)}.intro h1{font-size:58px}.hero-board{left:10px;transform:rotate(-9deg) scale(.86);transform-origin:left top}.game-layout{grid-template-columns:minmax(0,1fr) 245px}.player-card{gap:7px;padding:9px}.turn-badge,.winner-badge{display:none}}@media(max-width:820px){.site-header,.site-footer,.setup-layout,.play-layout{width:min(100% - 32px,620px)}.setup-layout{grid-template-columns:1fr;margin:32px auto 50px;gap:35px}.intro{min-height:auto;padding:10px 0 0}.intro h1{font-size:clamp(48px,10vw,65px);margin:20px 0 15px}.intro p{font-size:14px}.hero-board{display:none}.feature-row{margin-top:21px}.game-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-actions{grid-column:1/-1;flex-direction:row}.play-layout{margin-top:28px}.play-top h1{font-size:40px}.arena{padding:18px}.board-scroll{max-height:68vh}}@media(max-width:520px){.site-header{height:65px}.brand{font-size:16px;gap:8px}.brand-mark{width:24px;height:24px}.header-caption{display:none}.intro h1{font-size:45px}.intro p{line-height:1.55}.feature-row{gap:9px 14px;font-size:11px}.setup-card form{padding:22px 17px}.mode-options,.seat-settings{gap:7px}.mode-option{padding:11px;min-height:116px}.seat-setting{padding:9px}.seat-title strong{font-size:12px}.seat-title small{font-size:9px}.segmented.compact button{font-size:10px}.play-top{align-items:start}.play-top h1{font-size:34px}.play-top .text-button{font-size:0;padding:9px}.play-top .text-button svg{width:18px}.players-row{gap:6px}.player-card{padding:7px;gap:5px}.disc.avatar{width:24px;height:24px}.player-info strong{font-size:11px}.player-info>span{font-size:9px}.versus{font-size:9px}.sidebar{grid-template-columns:1fr}.game-actions{flex-direction:column}.arena{padding:15px 11px}.status-line strong{font-size:18px}.board-scroll{max-height:62vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
