*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:#05060b;color:#f4f4f7;font-family:Inter,'Noto Sans JP',sans-serif}button,input{font:inherit}button{color:inherit}.loading{height:100dvh;display:grid;place-items:center;background:radial-gradient(circle,#182b28,#05060b 55%)}.loading .brand-mark{animation:pulse 1.2s infinite}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1.1fr .9fr;background:#06070c;overflow:hidden}.auth-visual{position:relative;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 40% 60%,#123f34 0,transparent 43%),linear-gradient(145deg,#08090f,#070b0e);border-right:1px solid #ffffff0e}.brand-lockup,.mini-brand{display:flex;align-items:center;gap:13px}.brand-lockup strong{font-size:18px;letter-spacing:.02em}.brand-lockup small{display:block;color:#7c8584;font-size:8px;letter-spacing:.24em;margin-top:3px}.brand-mark,.mini-brand span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #63ffba66;border-radius:13px;background:linear-gradient(145deg,#1affe019,#51ffae05);color:#67ffc1;font-weight:800;box-shadow:inset 0 0 18px #42ffc122,0 0 30px #28ff9f12}.auth-copy{position:relative;z-index:2;padding:0 2vw 8vh}.eyebrow{color:#63febe;font-size:10px;font-weight:700;letter-spacing:.34em}.auth-copy h1{font-size:clamp(48px,6vw,88px);letter-spacing:-.07em;line-height:.99;margin:20px 0}.auth-copy em{font-style:normal;color:transparent;background:linear-gradient(90deg,#61ffc0,#9e68ff,#efd98d);background-clip:text}.orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55}.orb.one{width:420px;height:420px;right:-130px;top:14%;border:1px solid #79ffc322;box-shadow:inset 0 0 90px #29ff9910;animation:float 8s ease-in-out infinite}.orb.two{width:180px;height:180px;right:15%;top:26%;background:linear-gradient(145deg,#9c5cff18,#46ffc011);filter:blur(20px)}.auth-panel{display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 80% 10%,#8e5cff12,transparent 35%)}.auth-card{width:min(420px,100%);padding:30px;border:1px solid #ffffff14;border-radius:26px;background:#111219cc;box-shadow:0 35px 90px #0008;backdrop-filter:blur(30px)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#08090e;border-radius:12px;margin-bottom:28px}.auth-tabs button{border:0;background:transparent;padding:11px;border-radius:9px;color:#777d87;font-size:13px;font-weight:700;cursor:pointer}.auth-tabs button.active{background:#1d2028;color:white;box-shadow:0 3px 10px #0005}.auth-card label:not(.check-row){display:block;margin-bottom:18px}.auth-card label>span:first-child{display:block;color:#898e98;font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 0 8px 3px}.auth-card input:not([type=checkbox]){width:100%;height:52px;border:1px solid #ffffff14;border-radius:12px;background:#08090e;color:white;padding:0 16px;outline:none;transition:.2s}.auth-card input:focus{border-color:#5fffb788;box-shadow:0 0 0 3px #4dffc10b}.check-row{display:flex;align-items:center;gap:10px;color:#9398a2;font-size:11px;margin:4px 0 20px;cursor:pointer}.check-row input{display:none}.check-row i{width:17px;height:17px;border:1px solid #ffffff2b;border-radius:5px}.check-row input:checked+i{background:#62fdb8;border-color:#62fdb8;box-shadow:inset 0 0 0 4px #0c1512}.primary-btn,.deal-btn{width:100%;height:54px;border:0;border-radius:13px;background:linear-gradient(110deg,#64ffc1,#32dda3);color:#052017;font-weight:800;cursor:pointer;box-shadow:0 13px 35px #36efaa22;transition:.2s}.primary-btn:hover,.deal-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}.form-error{color:#ff7c8d;font-size:12px;padding:10px 12px;border-radius:9px;background:#ff4f6810}.app-shell{height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 15%,#14231f 0,#08090e 36%,#05060a 70%)}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;border-bottom:1px solid #ffffff0c;background:#07080dbd;backdrop-filter:blur(20px);position:relative;z-index:20}.mini-brand span{width:34px;height:34px;border-radius:11px}.mini-brand strong{font-size:15px}.desktop-nav{height:100%;display:flex;gap:25px}.desktop-nav button{position:relative;border:0;background:transparent;color:#656b74;font-size:12px;font-weight:700;cursor:pointer}.desktop-nav button.active{color:#e9fff6}.desktop-nav button.active:after{content:'';position:absolute;bottom:0;height:2px;left:10%;right:10%;background:#57ffb8;box-shadow:0 0 16px #55ffb8}.account{display:flex;align-items:center;gap:12px}.balance{height:44px;min-width:135px;padding:0 14px;text-align:left;border:1px solid #ffffff10;border-radius:12px;background:#111319;cursor:pointer;position:relative}.balance small{display:block;color:#737982;font-size:7px;letter-spacing:.18em}.balance strong{font-size:15px}.balance i{font-style:normal;position:absolute;right:10px;top:11px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#d9b959;color:#151108;font-size:10px;font-weight:800}.avatar{width:38px;height:38px;border-radius:50%;border:1px solid #9f72ff55;background:linear-gradient(145deg,#7442c7,#332254);font-weight:800;cursor:pointer}.game-canvas{height:calc(100dvh - 74px);padding:22px 3vw 26px}.table{position:relative;height:100%;max-width:1380px;margin:auto;border:1px solid #ffffff10;border-radius:25px;overflow:hidden;background:linear-gradient(145deg,#11151aee,#080a0eee);box-shadow:0 30px 80px #0008,inset 0 1px #ffffff09}.table:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#5cffb406,transparent 40%,#9c65ff06);pointer-events:none}.game-head{position:relative;height:76px;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff0b;z-index:2}.game-head p{font-size:8px;letter-spacing:.24em;color:#60efb4;margin:0 0 4px}.game-head h2{margin:0;font-size:25px;letter-spacing:-.04em}.status-dot,.shoe{font-size:8px;letter-spacing:.16em;color:#7a8385}.status-dot:before{content:'';display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#55ffc0;box-shadow:0 0 10px #55ffc0}.baccarat-mode{display:flex;padding:3px;border-radius:9px;background:#07090d;border:1px solid #ffffff0e}.baccarat-mode button{border:0;border-radius:6px;background:transparent;color:#656c75;padding:7px 9px;font-size:7px;font-weight:800;letter-spacing:.08em;cursor:pointer}.baccarat-mode button.active{background:#54ffb716;color:#61ffc0}.table-glow{position:absolute;width:50%;height:40%;left:25%;top:20%;background:#1b99602b;filter:blur(100px)}.baccarat-stage{height:calc(100% - 260px);min-height:260px;display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;padding:10px 8vw;position:relative}.hand{text-align:center}.hand header{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:17px;color:#727983;font-size:10px;letter-spacing:.18em;font-weight:700}.hand header b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffffff0d;color:#ecf1f0;font-size:11px}.card-row{height:130px;display:flex;justify-content:center;align-items:center}.playing-card{--rot:calc((var(--i) - 1)*3deg);width:82px;height:116px;margin-left:-24px;border-radius:10px;background:linear-gradient(135deg,#fff,#dadddf);color:#14161a;box-shadow:0 13px 25px #0008;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;animation:deal .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*.12s);transform:rotate(var(--rot));transform-origin:center 150%}.playing-card:first-child{margin-left:0}.playing-card b{font-size:20px;line-height:1}.playing-card span{font-size:28px}.playing-card .red{color:#df3153}.card-back{background:repeating-linear-gradient(45deg,#1e1340,#1e1340 4px,#7b53df 4px,#7b53df 6px);border:4px solid #ece5ff;animation:flip .5s ease both}.card-logo{display:grid!important;place-items:center;width:38px;height:38px;border-radius:50%;background:#12101b;color:#72ffc4;font-weight:900}.winner .card-row{filter:drop-shadow(0 0 22px #51ffc281)}.winner header{color:#5cffbb}.versus{text-align:center;color:#424850;font-size:10px}.versus b{color:#66ffc0;letter-spacing:.15em;font-size:14px}.bet-zones{height:104px;display:grid;grid-template-columns:1fr .7fr 1fr;gap:9px;padding:0 13vw}.bet-zones button{position:relative;border:1px solid #ffffff0f;border-radius:14px;background:#ffffff04;cursor:pointer;transition:.2s;overflow:visible}.bet-zones button:hover,.bet-zones button.active{border-color:#56fdb854;background:#55ffb80a;box-shadow:inset 0 0 25px #4dffb50b}.bet-zones small{display:block;color:#707780;font-size:8px;letter-spacing:.12em}.bet-zones strong{font-size:13px;letter-spacing:.1em}.placed-chip,.roulette-board button i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;border:3px double #160d25;border-radius:50%;background:linear-gradient(145deg,#d7b1ff,#8e5cec);box-shadow:0 6px 16px #0009;color:#1b0c2a;font-size:8px;font-style:normal;font-weight:900;animation:chipIn .3s cubic-bezier(.2,1.5,.4,1)}.bet-dock{position:absolute;z-index:5;bottom:0;left:0;right:0;height:80px;display:flex;justify-content:center;align-items:center;gap:35px;border-top:1px solid #ffffff0d;background:#090b10e8;backdrop-filter:blur(20px)}.chips{display:flex;gap:10px}.chips button{width:48px;height:48px;padding:0;border-radius:50%;border:3px dashed #ffffff42;background:linear-gradient(145deg,#343943,#171a20);font-size:10px;font-weight:800;box-shadow:0 7px 15px #0008;cursor:pointer;transition:.18s}.chips button:nth-child(2){background:linear-gradient(145deg,#364e7e,#162139)}.chips button:nth-child(3){background:linear-gradient(145deg,#4b2d73,#20132f)}.chips button:nth-child(4){background:linear-gradient(145deg,#84511f,#36200b)}.chips button:nth-child(5){background:linear-gradient(145deg,#27755a,#102e24)}.chips button.selected{transform:translateY(-6px);border-color:#76ffc7;box-shadow:0 12px 20px #0009,0 0 18px #5cff9f33}.deal-btn{width:175px;height:47px}.deal-btn i{font-style:normal;margin-left:20px}.clear-btn{border:1px solid #ffffff18;background:#ffffff06;border-radius:9px;padding:8px 13px;color:#9da2aa;font-size:9px;cursor:pointer}.roulette-main{height:calc(100% - 156px);display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:3vw;align-items:center;padding:15px 6vw 25px}.wheel-wrap{text-align:center}.wheel-wrap p{font-size:9px;color:#717780;letter-spacing:.17em}.roulette-wheel{position:relative;width:min(38vh,340px);aspect-ratio:1;margin:auto;border-radius:50%;background:radial-gradient(circle,#0b0d12 0 15%,#bd9c51 16% 18%,#191d22 19% 37%,#c1a45b 38% 41%,#111319 42% 67%,#8e713c 68% 71%,#111 72%);box-shadow:0 25px 60px #000c,0 0 40px #ae8a3e18;transition:transform 2.6s cubic-bezier(.12,.66,.09,1)}.spinning .roulette-wheel{transform:rotate(1440deg)}.roulette-wheel>i{position:absolute;left:calc(50% - 9px);top:2%;width:18px;height:48%;transform-origin:50% 100%;font-style:normal;font-size:7px}.roulette-wheel>i span{display:grid;place-items:center;width:18px;height:27px;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);color:white}.roulette-wheel>i.red span{background:#a8253a}.roulette-wheel>i.black span{background:#181b20}.roulette-wheel>i.green span{background:#17855e}.wheel-hub{position:absolute;left:39%;top:39%;width:22%;height:22%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#d7be71,#665025);color:#15120a;font-weight:900;font-size:28px;box-shadow:0 5px 20px #000}.ball{position:absolute;left:49%;top:9%;width:9px;height:9px;border-radius:50%;background:white;box-shadow:0 0 9px white}.spinning .ball{animation:ball 1.2s linear infinite}.roulette-board{display:grid;grid-template-columns:48px 1fr;gap:7px;max-width:680px}.roulette-board button{position:relative;min-height:39px;border:1px solid #ffffff1b;background:#11141a;font-size:10px;font-weight:700;cursor:pointer;transition:.15s}.roulette-board button:hover{z-index:2;border-color:#60ffc0;transform:scale(1.05)}.roulette-board .zero{grid-row:1/3;border-radius:9px;background:#116345;font-size:18px}.number-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.number-grid button{border-radius:4px}.red-num{background:#6f1d2c!important}.black-num{background:#12151a!important}.outside-bets{grid-column:2;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.outside-bets button{color:#9ba1aa;border-radius:5px}.outside-bets .red-out{background:#6f1d2c}.outside-bets .black-out{background:#0b0d11}.roulette-board button i{width:27px;height:27px;font-size:6px}.blackjack-stage{height:calc(100% - 156px);display:grid;grid-template-rows:1fr 35px 1fr;align-items:center;padding:8px}.blackjack-stage .card-row{height:115px}.blackjack-stage .playing-card{width:74px;height:104px}.result-banner{text-align:center;height:35px}.result-banner strong{display:inline-block;padding:7px 20px;border:1px solid #64ffc07a;border-radius:20px;color:#61ffc0;font-size:11px;letter-spacing:.15em;background:#51ffc00a;animation:resultPop .4s ease}.action-dock{position:absolute;z-index:5;bottom:0;left:0;right:0;height:80px;display:flex;justify-content:center;align-items:center;gap:10px;border-top:1px solid #ffffff0d;background:#090b10e8}.action-dock button{min-width:110px;height:45px;border:1px solid #ffffff1b;border-radius:12px;background:#15181f;font-size:10px;font-weight:800;letter-spacing:.1em;cursor:pointer}.action-dock button.primary{border-color:#54ffc05c;background:#4cffb315;color:#65ffc1}.mobile-nav{display:none}.toast{position:fixed;z-index:100;top:90px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #5dffc052;border-radius:12px;background:#101a17e8;color:#bffff0;font-size:12px;box-shadow:0 12px 35px #0008;backdrop-filter:blur(15px);animation:toastIn .3s ease}.backdrop{position:fixed;z-index:40;inset:0;background:#0009;backdrop-filter:blur(3px)}.history-drawer{position:fixed;z-index:50;right:0;top:0;bottom:0;width:min(420px,92vw);padding:28px;background:#0c0e14;border-left:1px solid #ffffff12;box-shadow:-30px 0 70px #0008;animation:drawer .3s ease}.history-drawer>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.history-drawer small{font-size:8px;letter-spacing:.16em;color:#63ffc0}.history-drawer h3{margin:4px 0}.history-drawer header button{border:0;background:#ffffff0a;border-radius:50%;width:35px;height:35px;cursor:pointer}.history-list{display:grid;gap:8px;max-height:calc(100dvh - 100px);overflow:auto}.history-list article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #ffffff0b;border-radius:12px;background:#ffffff04}.history-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#62ffc011;color:#5fffb8;font-size:11px;font-weight:900}.history-list article strong{display:block;font-size:11px}.history-list article small{color:#646b74;font-size:8px}.history-list article>b{font-size:11px;color:#777}.history-list article>b.positive{color:#5cffbb}.empty{text-align:center;color:#686e76;font-size:12px;padding:50px}.positive{color:#5dffc0}@keyframes deal{from{opacity:0;transform:translate(200px,-150px) rotate(35deg) scale(.7)}to{opacity:1;transform:rotate(var(--rot))}}@keyframes flip{from{opacity:.2;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}@keyframes chipIn{from{opacity:0;transform:translate(-50%,100px) scale(.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ball{to{transform:rotate(360deg);transform-origin:0 130px}}@keyframes resultPop{from{opacity:0;transform:scale(.5)}}@keyframes toastIn{from{opacity:0;transform:translate(-50%,-15px)}}@keyframes drawer{from{transform:translateX(100%)}}@keyframes float{50%{transform:translateY(30px) rotate(8deg)}}@keyframes pulse{50%{transform:scale(1.1);box-shadow:0 0 35px #62ffbb55}}
@media(max-width:760px){.auth-shell{display:block}.auth-visual{height:31dvh;min-height:220px;padding:22px;border:0}.brand-lockup{align-self:flex-start}.auth-copy{padding:0}.auth-copy .eyebrow{display:none}.auth-copy h1{font-size:41px;margin:0}.orb.one{width:230px;height:230px;right:-70px}.auth-panel{min-height:69dvh;padding:14px 16px 30px;align-items:start}.auth-card{padding:22px;border-radius:21px}.topbar{height:61px;padding:0 14px}.mini-brand strong{display:none}.mini-brand span{width:33px;height:33px}.desktop-nav{display:none}.account{gap:8px}.balance{height:40px;min-width:120px}.avatar{width:35px;height:35px}.game-canvas{height:calc(100dvh - 61px);padding:8px 8px 76px}.table{border-radius:18px}.game-head{height:62px;padding:13px 16px}.game-head h2{font-size:20px}.game-head p{font-size:7px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);z-index:30;bottom:0;left:0;right:0;height:69px;padding-bottom:env(safe-area-inset-bottom);background:#080a0df2;border-top:1px solid #ffffff12;backdrop-filter:blur(20px)}.mobile-nav button{border:0;background:transparent;color:#5f6670;font-size:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-nav i{display:grid;place-items:center;width:29px;height:25px;font-style:normal;font-size:10px;font-weight:900;border-radius:8px}.mobile-nav button.active{color:#67ffc1}.mobile-nav button.active i{background:#5cffb514}.baccarat-stage{height:calc(100% - 240px);min-height:205px;grid-template-columns:1fr 30px 1fr;padding:5px 10px}.hand header{margin-bottom:7px;font-size:8px}.card-row{height:95px}.playing-card{width:57px;height:82px;margin-left:-19px;border-radius:7px}.playing-card b{font-size:14px}.playing-card span{font-size:19px}.versus{font-size:7px}.bet-zones{height:88px;padding:0 8px;gap:5px}.bet-zones small{font-size:6px}.bet-zones strong{font-size:9px}.bet-dock,.action-dock{height:76px;gap:9px;padding:0 8px}.chips{gap:4px}.chips button{width:38px;height:38px;border-width:2px;font-size:8px}.deal-btn{width:100px;height:43px;font-size:10px}.roulette-main{height:calc(100% - 138px);display:block;padding:8px}.wheel-wrap{height:39%;display:grid;grid-template-columns:1fr 1.2fr;align-items:center}.roulette-wheel{width:min(30dvh,210px)}.wheel-wrap p{text-align:left;font-size:8px}.roulette-board{height:59%;grid-template-columns:34px 1fr;gap:3px}.roulette-board .zero{font-size:14px}.number-grid{grid-template-columns:repeat(6,1fr);gap:2px}.roulette-board button{min-height:25px;font-size:8px}.outside-bets{grid-template-columns:repeat(5,1fr)}.roulette-board button i{width:22px;height:22px}.blackjack-stage{height:calc(100% - 138px);grid-template-rows:1fr 25px 1fr}.blackjack-stage .card-row{height:100px}.blackjack-stage .playing-card{width:60px;height:86px}.action-dock button{min-width:72px;height:42px;font-size:8px}.toast{top:70px;max-width:90%;white-space:nowrap}.history-drawer{padding:20px}.placed-chip{width:30px;height:30px;font-size:7px}}
@media(max-height:680px) and (max-width:760px){.game-head{height:54px}.game-head p{display:none}.baccarat-stage{height:calc(100% - 220px)}.playing-card{height:72px;width:51px}.bet-zones{height:78px}.roulette-main{height:calc(100% - 130px)}.wheel-wrap{height:34%}.roulette-wheel{width:130px}.blackjack-stage{height:calc(100% - 130px)}}
