:root{--bg:#090c18;--surface:#111622;--gold:#edc66d;--text:#f5f5fa;--muted:#999eae;--border:#2b2e3c;--quick-width:88px;color-scheme:dark;font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 100%,#14192b 0,transparent 65%),var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:0}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%;display:block}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:8px;left:8px;z-index:30;padding:12px;background:var(--gold);color:#111;transform:translateY(-150%)}.skip-link:focus{transform:none}
.header{min-height:78px;padding:14px 24px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,#101425,#080b14);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand img{width:49px;height:45px}.brand span{font-size:26px;letter-spacing:.2px;font-weight:900;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:20px;margin-inline:auto;white-space:nowrap}.header-nav button{font-weight:700;font-size:15px;padding:12px 2px;position:relative;transition:color .2s}.header-nav button:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}.header-nav button:hover{color:var(--gold)}.header-nav button:hover:after{transform:scaleX(1)}.member,.member-profile{display:flex;align-items:center;gap:10px}.member{gap:15px;white-space:nowrap}.member-profile{padding:0}.member-profile strong{font-size:13px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(135deg,#343c48,#0d1320);border:1px solid var(--gold);border-radius:0;font-weight:800;color:var(--gold)}.vip{border:1px solid #9b762a;border-radius:0;color:var(--gold);padding:4px 7px;font-size:11px}.balance,.points{display:flex;gap:7px;align-items:center;padding:0}.balance span,.points span{color:var(--muted);font-size:11px}.balance strong,.points strong{font-size:13px;color:var(--gold)}.icon-button{display:grid;place-items:center;padding:5px;color:#c9ccda;transition:color .2s}.icon-button:hover{color:var(--gold)}.notification{position:relative}.notification i{display:none;position:absolute;right:6px;top:3px;width:5px;height:5px;background:#ff5665;border-radius:0;box-shadow:0 0 9px #ff5665}.notification.has-unread i{display:block}.guest{display:flex;gap:16px;align-items:center}.guest button{white-space:nowrap}
.notice-strip{height:45px;padding:0 32px;display:flex;align-items:center;gap:13px;background:linear-gradient(90deg,#101727,#0c101c);border-bottom:1px solid #222637}.notice-strip svg{color:var(--gold);width:20px}.notice-strip p{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.notice-strip button{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.notice-strip button span{margin-left:10px;color:var(--gold)}
.main{padding:18px calc(var(--quick-width) + 26px) 0 28px}.arena{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.game-panel{--accent:#55e7ed;--accent-rgb:85,231,237;position:relative;height:clamp(600px,calc(100svh - 248px),880px);border:1px solid #30384a;border-radius:0;overflow:hidden;background:#0c161e;isolation:isolate;box-shadow:0 10px 40px #0002}.game-panel.slot{--accent:#f5ca68;--accent-rgb:245,202,104;background:#1b1010}.hero{position:relative;width:100%;height:100%;overflow:hidden}.hero-art{position:absolute;inset:0;background-image:url('../images/hero-art.png');background-size:200% 100%;background-position:left center;background-repeat:no-repeat;transition:transform 1.15s cubic-bezier(.2,.65,.25,1);will-change:transform}.slot .hero-art{background-position:right center}.hero:hover .hero-art,.hero:has(.hero-hitarea:focus-visible) .hero-art{transform:scale(1.045)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#040a1840 0,transparent 36%,transparent 68%,#030811d9 100%);pointer-events:none}.hero-heading{position:absolute;left:12px;right:12px;top:6%;text-align:center;pointer-events:none;z-index:2;animation:rise-in .9s both}.slot .hero-heading{animation-delay:.12s}.eyebrow{font-size:11px;font-weight:700;letter-spacing:5px;color:var(--gold);margin:0 0 14px}.hero h1,.hero h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(44px,5.8vw,115px);line-height:1.02;letter-spacing:1px;font-weight:400;margin:0;text-shadow:0 4px 28px #0006;white-space:nowrap}.hero-subtitle{display:flex;align-items:center;justify-content:center;gap:17px;font-size:clamp(18px,1.6vw,30px);font-weight:800;margin:10px 0 0}.hero-subtitle span{width:42px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.hero-subtitle span:last-child{transform:rotate(180deg)}.hero-bottom{position:absolute;left:20px;right:20px;bottom:4%;text-align:center;z-index:2;pointer-events:none;animation:rise-in 1s .2s both}.hero-bottom p{font-size:16px;font-weight:700;text-shadow:0 2px 10px #000;margin:0 0 17px}.hero-cta{width:min(360px,82%);display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:57px;font-size:18px;font-weight:800;border:2px solid var(--accent);border-radius:0;background:linear-gradient(180deg,rgba(var(--accent-rgb),.18),#041117d9);box-shadow:inset 0 1px 13px rgba(var(--accent-rgb),.45),0 0 21px rgba(var(--accent-rgb),.2);transition:box-shadow .3s,background .3s}.slot .hero-cta{background:linear-gradient(180deg,#66320bd9,#100c06ec)}.hero-cta svg{color:var(--accent);transition:transform .3s}.hero:hover .hero-cta{box-shadow:inset 0 1px 18px rgba(var(--accent-rgb),.55),0 0 30px rgba(var(--accent-rgb),.55)}.hero:hover .hero-cta svg{transform:translateX(5px)}.hero-hitarea{position:absolute;inset:0;width:100%;height:100%;z-index:3;border-radius:0}.hero-hitarea:focus-visible{outline:3px solid var(--accent);outline-offset:-5px}.light-sweep{position:absolute;width:30%;height:180%;left:-70%;top:-40%;transform:rotate(28deg);background:linear-gradient(90deg,transparent,#fff1,transparent);pointer-events:none;animation:sweep 11s infinite}.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.particles i{position:absolute;width:3px;height:3px;border-radius:0;background:var(--accent);box-shadow:0 0 9px var(--accent);bottom:-10px;animation:float-up 9s linear infinite;opacity:0}.particles i:nth-child(3n){width:2px;height:2px}.particles i:nth-child(4n){width:4px;height:4px}
.quick-menu{position:fixed;right:15px;top:50%;transform:translateY(-50%);width:76px;display:grid;gap:10px;z-index:6}.quick-menu button{min-height:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(145deg,#161c2cec,#0a0e19f5);border:1px solid #ad852c;border-radius:0;box-shadow:0 6px 18px #0002;transition:transform .25s,border-color .25s,box-shadow .25s}.quick-menu svg{width:29px;height:29px;color:var(--gold)}.quick-menu span{font-size:12px;font-weight:700}.quick-menu button:hover{transform:translateX(-4px);border-color:var(--gold);box-shadow:0 0 22px #e8bc5526}
.directory{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#343d50 transparent;padding:28px 24px;background:radial-gradient(ellipse at 50% 0,rgba(var(--accent-rgb),.09),transparent 65%),#0d1220;animation:rise-in .35s both}.directory-top{display:flex;align-items:flex-start;gap:15px;justify-content:space-between}.directory h2{font-size:27px;margin:0 0 10px;letter-spacing:-1px}.directory .eyebrow{font-size:9px;letter-spacing:3px;color:var(--accent)}.directory-description{font-size:12px;color:var(--muted);margin:0}.back-button{display:flex;align-items:center;gap:4px;white-space:nowrap;border:1px solid #343e50;border-radius:0;padding:8px;color:var(--muted);font-size:11px}.back-button:hover{color:var(--accent);border-color:var(--accent)}.back-button svg{width:16px;height:16px}.search{display:flex;align-items:center;gap:10px;margin:23px 0 18px;padding:12px;background:#080d17;border:1px solid #303849;border-radius:0}.search svg{width:18px;color:var(--muted)}.search input{width:100%;background:none;border:0;outline:none;color:var(--text);font-size:13px;min-width:0}.search:focus-within{border-color:var(--accent)}.directory-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:16px}.directory-meta span:last-child{letter-spacing:0;color:var(--accent)}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.provider-card{position:relative;border:1px solid #2c3446;border-radius:0;padding:0;background:#121b2c;overflow:hidden;text-align:left;transition:transform .25s,border-color .25s,box-shadow .25s;animation:card-in .4s both}.provider-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 5px 18px rgba(var(--accent-rgb),.13)}.provider-art{aspect-ratio:1.4;overflow:hidden;position:relative;background:#171e30}.provider-art>img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.provider-card:hover .provider-art>img{transform:scale(1.07)}.provider-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#080e1bd9)}.provider-logo{position:absolute;bottom:8px;left:7px;right:7px;height:48px;display:flex;align-items:center;justify-content:center}.provider-logo img{width:100%;height:100%;max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 5px #0009)}.provider-caption{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:11px 10px;font-size:11px}.provider-caption svg{width:13px;height:13px;color:var(--accent)}.provider-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-badge{position:absolute;top:8px;left:8px;font-size:8px;letter-spacing:1px;padding:3px 5px;background:#08121abf;color:var(--accent);border-radius:0}.empty{text-align:center;color:var(--muted);padding:50px 0;font-size:14px}.footer{padding:22px 30px 16px}.partner-row{display:flex;align-items:center;justify-content:center;gap:35px;max-width:1500px;margin:auto}.partner-row>img{width:115px;height:35px;object-fit:contain;filter:grayscale(1);opacity:.5;transition:filter .3s,opacity .3s}.partner-row>img:hover{filter:none;opacity:1}.partner-line{height:1px;background:#495065;flex:1}.footer>p{text-align:center;font-size:11px;color:#7a8296;margin:17px 0 0}.footer-demo{font-size:9px;color:#596177}
.modal{width:min(510px,calc(100% - 32px));max-height:88svh;overflow:auto;border:1px solid #45414a;border-radius:0;padding:26px;color:var(--text);background:radial-gradient(ellipse at top left,#30291f,transparent 65%),#101522;box-shadow:0 30px 100px #000b}.modal[open]{animation:rise-in .25s both}.modal::backdrop{background:#030713bc;backdrop-filter:blur(8px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-top .eyebrow{margin:0;font-size:9px;letter-spacing:3px}.modal h2{font-size:25px;margin:10px 0 23px}.modal p{font-size:13px;line-height:1.8}.modal-lead{color:var(--muted);margin-bottom:22px}.demo-note{padding:12px 14px;border:1px solid #66552f;background:#cfaa4c0b;border-radius:0;color:#d5bd86!important;font-size:11px!important;line-height:1.7!important}.form-row{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:12px}.form-row input,.form-row select,.form-row textarea{background:#080c16;border:1px solid #343c4f;border-radius:0;padding:12px;color:var(--text);width:100%}.form-row textarea{resize:vertical;min-height:105px}.amounts{display:flex;flex-wrap:wrap;gap:7px}.amounts button{font-size:11px;border:1px solid #3b4354;border-radius:0;padding:7px 10px}.amounts button:hover{border-color:var(--gold);color:var(--gold)}.gold-button{border:1px solid #c5a053!important;border-radius:0;background:linear-gradient(135deg,#edce86,#bb8a38)!important;color:#18130a!important;font-weight:800;padding:12px 18px;transition:filter .2s}.gold-button:hover{filter:brightness(1.12)}.full-button{width:100%;margin-top:15px}.text-link{font-size:12px;color:var(--gold);margin-top:15px;padding:5px 0}.modal-list{display:grid;gap:12px}.modal-item{border:1px solid #303a4c;border-radius:0;padding:15px;background:#0c1220}.modal-item strong{font-size:14px}.modal-item p{margin-bottom:0;color:var(--muted);font-size:12px}.event-tag{display:block;font-size:9px;letter-spacing:2px;color:var(--gold);margin-bottom:9px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-stat{background:#090f1b;border:1px solid #313a4c;border-radius:0;padding:16px}.profile-stat span{display:block;color:var(--muted);font-size:11px;margin-bottom:10px}.profile-stat strong{font-size:16px;color:var(--gold)}.provider-preview{height:170px;overflow:hidden;border-radius:0;position:relative}.provider-preview>img{width:100%;height:100%;object-fit:cover}.provider-preview .provider-logo{height:64px;bottom:12px;left:16px;right:16px}.provider-preview .provider-logo img{max-height:100%}.check-row{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.6}.check-row input{accent-color:var(--gold);margin-top:4px}.toast{position:fixed;left:50%;bottom:32px;max-width:calc(100% - 36px);transform:translate(-50%,15px);background:#161e2ff5;border:1px solid #a98c45;color:#eee;padding:15px 23px;border-radius:0;z-index:50;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 8px 35px #0005}.toast.visible{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}
@keyframes float-up{0%{transform:translate(0,0);opacity:0}15%{opacity:.65}80%{opacity:.35}100%{transform:translate(35px,-600px);opacity:0}}@keyframes sweep{0%,60%{left:-70%;opacity:0}65%{opacity:1}90%,100%{left:150%;opacity:0}}@keyframes rise-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.header{gap:50px}.header-nav{gap:32px}.header-nav button{font-size:17px}.member{gap:19px}.member-profile strong{font-size:14px}.balance strong,.points strong{font-size:14px}}
@media(max-width:1450px){.header{flex-wrap:wrap;gap:12px 24px;padding:12px 24px}.brand span{font-size:24px}.member,.guest{margin-left:auto}.header-nav{order:3;width:100%;justify-content:center;margin:0;gap:35px}.header-nav button{padding:9px 0}.game-panel{height:clamp(590px,calc(100svh - 280px),850px)}.hero h1,.hero h2{font-size:6vw}.partner-row{gap:24px}.partner-row>img{width:95px}}
@media(max-width:1050px){.main{padding-left:18px;padding-right:98px}.arena{gap:14px}.quick-menu{width:63px;right:15px}.quick-menu button{min-height:83px;gap:8px}.quick-menu svg{width:25px;height:25px}.quick-menu span{font-size:10px}.points{display:none}.hero h1,.hero h2{font-size:5.8vw}.hero-bottom p{font-size:13px}.hero-cta{font-size:14px;gap:14px;min-height:49px;width:90%}.hero-subtitle{font-size:20px;gap:10px}.hero-subtitle span{width:25px}.eyebrow{font-size:9px;letter-spacing:3px}.directory{padding:22px 16px}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.directory h2{font-size:22px}.partner-row{gap:20px}.partner-row>img{width:85px}.game-panel{height:600px}}
@media(max-width:740px){.header{padding:12px 15px;gap:12px}.brand{gap:8px}.brand img{width:33px;height:32px}.brand span{font-size:19px}.member{gap:8px}.member-profile{gap:6px}.member-profile strong{font-size:11px}.avatar{width:27px;height:27px;font-size:12px}.vip{display:none}.balance{display:none}.member .icon-button{padding:2px}.member .icon-button svg{width:20px;height:20px}.header-nav{gap:0;justify-content:space-between}.header-nav button{font-size:12px;padding:9px 4px}.notice-strip{padding:0 16px;height:40px;gap:9px}.notice-strip p{font-size:11px}.notice-strip button{display:none}.main{padding:14px 14px 0}.arena{grid-template-columns:1fr;gap:18px}.game-panel{height:auto;aspect-ratio:.95;min-height:440px;max-height:700px}.hero{height:100%;position:absolute;inset:0}.hero h1,.hero h2{font-size:clamp(46px,12.5vw,87px)}.hero-heading{top:6%}.hero-subtitle{font-size:22px}.eyebrow{font-size:10px;letter-spacing:4px}.hero-bottom{bottom:5%}.hero-bottom p{font-size:13px}.hero-cta{font-size:16px;width:80%;min-height:50px}.quick-menu{top:auto;bottom:16px;right:12px;transform:none;width:auto;display:flex;gap:5px;padding:5px;border-radius:0;background:#090e1de8;border:1px solid #78602b;box-shadow:0 6px 24px #0006;backdrop-filter:blur(10px)}.quick-menu button{min-height:51px;width:58px;border:none;background:none;border-radius:0;gap:5px;box-shadow:none}.quick-menu button:hover{transform:translateY(-3px);background:#af873520}.quick-menu svg{width:19px;height:19px}.quick-menu span{font-size:9px}.directory{position:absolute;inset:0;padding:22px 18px}.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.provider-caption{font-size:9px;padding:9px 7px}.provider-logo{height:36px;left:4px;right:4px;bottom:6px}.provider-logo img{max-height:100%}.provider-art{aspect-ratio:1.12}.footer{padding:25px 17px 92px}.partner-row{gap:18px 22px;flex-wrap:wrap}.partner-row>img{width:80px;height:27px}.partner-line{display:none}.guest{gap:9px;font-size:11px}.guest .gold-button{padding:8px 10px}.toast{bottom:92px}.directory .eyebrow{font-size:8px}.modal{padding:22px}.modal h2{font-size:23px}}
@media(max-width:380px){.brand span{font-size:16px}.member-profile strong{display:none}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-panel{min-height:440px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero:hover .hero-art,.hero:has(.hero-hitarea:focus-visible) .hero-art{transform:none}.particles{display:none}}

/* Attendance & roulette */
.attendance-summary{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border:1px solid #50452c;border-radius:0;background:linear-gradient(125deg,#332a18,#141927);margin-bottom:22px}.attendance-summary>div>span{display:block;color:var(--gold);font-size:9px;letter-spacing:2px;margin-bottom:8px}.attendance-summary strong{font-size:21px}.attendance-count{text-align:right}.attendance-count b{color:var(--gold);font-size:34px}.attendance-count span{font-size:11px!important;letter-spacing:0!important;margin:0!important}.calendar-week,.attendance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-week{text-align:center;font-size:11px;color:var(--muted);margin-bottom:10px}.calendar-week span:first-child{color:#ef7980}.calendar-week span:last-child{color:#81a9e7}.calendar-day{aspect-ratio:1;position:relative;display:grid;place-items:center;border:1px solid #283245;border-radius:0;background:#0b111e;font-size:12px;color:#c2c7d3}.calendar-day.is-today{border-color:#e6c16d;color:var(--gold);box-shadow:0 0 14px #dcb65a1c}.calendar-day.is-attended{background:#3b311b;border-color:#bd9d51}.calendar-day.is-attended b{opacity:.3}.calendar-day i{position:absolute;font-style:normal;font-size:27px;color:var(--gold)}.activity-feedback{text-align:center;min-height:24px;color:var(--gold);font-weight:700;margin:17px 0 0!important}.roulette-lead{text-align:center}.roulette-stage{position:relative;max-width:330px;width:86%;aspect-ratio:1;margin:25px auto 28px;filter:drop-shadow(0 10px 28px #0006)}.roulette-wheel{position:absolute;inset:0;border:8px solid #d6af58;border-radius:0;background:conic-gradient(#202d48 0deg 45deg,#ac7735 45deg 90deg,#19273f 90deg 135deg,#d2a352 135deg 180deg,#19273f 180deg 225deg,#ac7735 225deg 270deg,#19273f 270deg 315deg,#d2a352 315deg 360deg);box-shadow:inset 0 0 0 3px #fcdea14d,0 0 0 4px #513c20,0 0 25px #e8b75633;transition:transform 4.3s cubic-bezier(.12,.75,.15,1)}.roulette-pointer{position:absolute;left:50%;top:-12px;transform:translateX(-50%);z-index:2;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:33px solid #fff0b1;filter:drop-shadow(0 3px 3px #0008)}.roulette-label{position:absolute;inset:0;transform:rotate(var(--angle));text-align:center;padding-top:22px}.roulette-label b{display:inline-block;font-size:13px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:1px;text-shadow:0 2px 3px #0007}.roulette-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:65px;height:65px;display:grid;place-items:center;border:4px solid #ffe5a3;background:linear-gradient(135deg,#f2ce7a,#a9772c);border-radius:0;font-size:25px;font-weight:900;letter-spacing:-3px;font-style:italic;color:#35220e;box-shadow:0 4px 10px #0007}.roulette-stage+.gold-button{margin-top:0}@media(max-width:400px){.calendar-week,.attendance-calendar{gap:5px}.roulette-label b{font-size:11px}.roulette-label{padding-top:15px}.roulette-hub{width:55px;height:55px}}

/* Provider card actions: artwork is rendered in transparent PNGs. */
.provider-image-button{display:block;width:100%;padding:0;text-align:inherit}.provider-image-button:focus-visible{outline-offset:-3px}.provider-caption{gap:8px;padding:7px 9px}.provider-caption .provider-name{min-width:0;flex:1}.provider-action{display:block;flex:0 0 104px;width:104px;height:39px;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.provider-action img{display:block;width:100%;height:100%;object-fit:contain}.provider-action:focus-visible{outline-offset:1px;border-radius:0}@media(max-width:740px){.provider-caption{padding:7px 6px;gap:4px;flex-wrap:wrap}.provider-caption .provider-name{flex-basis:100%;font-size:9px}.provider-action{flex:0 0 100%;width:100%;height:34px}.provider-action img{width:min(100%,110px);margin-inline:auto}}

/* Signup logo and welcome banner */
.modal-brand{display:flex;align-items:center;gap:12px;color:#f8f7f2;min-width:0}.modal-brand img{width:46px;height:43px;flex-shrink:0}.modal-brand span{font-size:23px;font-weight:900;letter-spacing:.3px;white-space:nowrap}.modal.modal--join{width:min(1000px,calc(100% - 40px));padding:0;max-height:90svh;border-color:#514939;overflow:auto;background:#101522}.modal--join[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:stretch}.modal--join .modal-main{min-width:0;padding:30px 32px;background:radial-gradient(ellipse at top left,#30291f,transparent 65%),#101522}.modal--join .modal-top{margin-bottom:22px;min-height:43px}.modal--join h2{font-size:27px;margin:0 0 24px}.modal--join #modal-close{position:absolute;top:15px;right:15px;z-index:4;width:35px;height:35px;border:1px solid #b5a47955;border-radius:0;background:#0b101cc9;backdrop-filter:blur(6px)}.modal--join .form-row{margin:15px 0}.modal--join .demo-note{font-size:10px!important;padding:11px 12px}.modal--join .check-row{font-size:11px}.modal--join .text-link{margin-top:14px}.join-banner{position:relative;isolation:isolate;overflow:hidden;background:#070d17;border-left:1px solid #b6a2723b;min-height:620px}.join-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% center}.join-banner-shade{position:absolute;inset:0;background:linear-gradient(180deg,#060c1938 0%,transparent 28%,transparent 47%,#060c1980 70%,#060b15fa 100%);pointer-events:none}.modal .join-banner-kicker{position:absolute;top:30px;left:28px;right:45px;margin:0;color:#e7ce95;font-size:9px;letter-spacing:2.6px;font-weight:700}.join-banner-copy{position:absolute;left:30px;right:25px;bottom:30px;text-shadow:0 2px 12px #0006}.modal .join-banner-welcome{color:#e9c978;font-size:9px;letter-spacing:2.5px;font-weight:700;margin:0 0 12px}.join-banner-copy h3{font-size:27px;line-height:1.45;letter-spacing:-.9px;margin:0;color:#fff6e3}.modal .join-banner-copy>p:not(.join-banner-welcome){color:#c8c8ce;font-size:12px;line-height:1.8;margin:13px 0 16px}.join-banner-cta{display:inline-flex;align-items:center;gap:18px;border:1px solid #e9c97866;border-radius:0;padding:9px 17px;color:#edcd83;font-size:12px;font-weight:700;background:#0a101b80;transition:background .2s,border-color .2s}.join-banner-cta svg{width:16px;height:16px}.join-banner-cta:hover{background:#ab813528;border-color:#e9c978}.join-banner-cta:focus-visible{outline-color:var(--gold)}@media(max-width:780px){.modal.modal--join{width:min(520px,calc(100% - 24px));max-height:92svh}.modal--join[open]{grid-template-columns:1fr}.modal--join .modal-main{padding:25px 24px}.modal--join .modal-top{padding-right:30px}.modal-brand span{font-size:21px}.modal-brand img{width:40px;height:38px}.join-banner{min-height:310px;border-left:0;border-top:1px solid #b6a2723b}.join-banner-image{object-position:60% 30%}.join-banner-shade{background:linear-gradient(90deg,#060c19f5 0%,#060c19cc 35%,#060c191a 75%),linear-gradient(0deg,#060b15bb,transparent 60%)}.modal .join-banner-kicker{top:22px;left:24px;right:20px;font-size:8px;letter-spacing:1.8px}.join-banner-copy{left:24px;right:auto;max-width:66%;bottom:23px}.join-banner-copy h3{font-size:21px}.modal .join-banner-welcome{font-size:7px;letter-spacing:1.4px;margin-bottom:9px}.modal .join-banner-copy>p:not(.join-banner-welcome){font-size:11px;margin:8px 0 12px}.join-banner-cta{font-size:11px;padding:8px 13px}.modal--join #modal-close{right:12px;top:12px}}@media(max-width:380px){.modal--join .modal-main{padding:23px 18px}.modal-brand{gap:8px}.modal-brand span{font-size:18px}.modal-brand img{width:34px;height:34px}.join-banner-copy{left:20px}.join-banner-copy h3{font-size:19px}}

/* Pure CSS storm: decorative layers never intercept site controls. */
body{isolation:isolate;background:#070c17}
.storm-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 55% 0,#263d58 0,#0d192b 45%,#060a14 90%)}
.storm-background>div{position:absolute;pointer-events:none}
.storm-clouds{inset:-20%;background:radial-gradient(ellipse at 20% 25%,#50698255 0,transparent 34%),radial-gradient(ellipse at 75% 40%,#07101ee8 0,transparent 43%),radial-gradient(ellipse at 50% 75%,#354a6755 0,transparent 38%);animation:storm-cloud-drift 32s ease-in-out infinite alternate}
.storm-clouds-near{opacity:.7;transform:scale(1.2);animation-duration:23s;animation-direction:alternate-reverse}
/* Branching vector contours; every lighting effect is animated with CSS. */
.storm-flash{inset:0;background:radial-gradient(ellipse at 50% 0,#b1d3ff88,transparent 60%);opacity:0;animation:storm-sky-flash 3s linear infinite}
.storm-bolt{top:-10px;width:clamp(180px,21vw,390px);height:min(76vh,740px);opacity:0;animation:storm-lightning 9s linear infinite;filter:drop-shadow(0 0 3px #b3daff) drop-shadow(0 0 12px #619dea)}
.storm-bolt svg{display:block;width:100%;height:100%;fill:none;stroke:#f2f7ff;stroke-linejoin:round;stroke-linecap:round;overflow:visible}
.bolt-trunk{stroke-width:1.35}.bolt-branches{stroke-width:.55;opacity:.7}
.storm-bolt:before{content:"";position:absolute;inset:-50px;background:radial-gradient(ellipse at 50% 15%,#8ebeff30,transparent 65%)}
.storm-bolt-left{left:-2%;animation-delay:0s}.storm-bolt-center{left:39%;top:-25px;animation-delay:3s;transform:rotate(-12deg)}.storm-bolt-right{right:-2%;animation-delay:6s;transform:rotate(8deg)}
@keyframes storm-cloud-drift{from{translate:-3% -2%}to{translate:5% 3%}}
@keyframes storm-sky-flash{0%,9%,100%{opacity:0}1%{opacity:.28}3%{opacity:.07}5%{opacity:.16}}
@keyframes storm-lightning{0%,3.4%,100%{opacity:0}0.3%{opacity:1}0.8%{opacity:.38}1.4%{opacity:.82}2.1%{opacity:.3}2.8%{opacity:.08}}
.header,.notice-strip{background:transparent;box-shadow:none;backdrop-filter:none}
.header{border-bottom-color:#b4c8e52b;text-shadow:0 2px 9px #000b}
.notice-strip{border-bottom-color:#b4c8e522;text-shadow:0 2px 8px #000}
@media(max-width:740px){.storm-bolt{width:180px}.storm-clouds-near{display:none}.storm-bolt-center{left:25%}}
/* storm kept visible even with reduced-motion (brand atmosphere) */

/* Inlaid metal surrounds with corner detailing for both game panels. */
.game-panel{--frame-light:#b3d5d7;--frame-mid:#597d83;--frame-dark:#1a303b;padding:7px;border:1px solid var(--frame-mid);border-radius:0;background:linear-gradient(135deg,var(--frame-light) 0%,var(--frame-dark) 8%,#080d17 37%,var(--frame-mid) 55%,#080d17 73%,var(--frame-light) 100%);box-shadow:0 18px 45px #0008,0 0 26px rgba(var(--accent-rgb),.07),inset 0 0 0 1px #ffffff30}
.game-panel.slot{--frame-light:#f0d799;--frame-mid:#9a7942;--frame-dark:#392916;background:linear-gradient(135deg,var(--frame-light) 0%,var(--frame-dark) 8%,#100e0c 37%,var(--frame-mid) 55%,#100e0c 73%,var(--frame-light) 100%)}
.game-panel:before{content:"";position:absolute;inset:3px;z-index:4;border:1px solid #ffffff25;border-radius:0;pointer-events:none}
.game-panel:after{content:"";position:absolute;inset:5px;z-index:4;border-radius:0;pointer-events:none;background:linear-gradient(var(--frame-light),var(--frame-light)) left top/42px 2px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) left top/2px 42px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) right top/42px 2px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) right top/2px 42px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) left bottom/42px 2px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) left bottom/2px 42px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) right bottom/42px 2px no-repeat,linear-gradient(var(--frame-light),var(--frame-light)) right bottom/2px 42px no-repeat;opacity:.8}
.game-panel>.hero,.game-panel>.directory{border-radius:0}
.directory{border:1px solid rgba(var(--accent-rgb),.18);background:radial-gradient(ellipse at 50% 0,rgba(var(--accent-rgb),.13),transparent 48%),linear-gradient(135deg,#111c2b,#090e19 60%);box-shadow:inset 0 0 35px #0006}
.slot .directory{background:radial-gradient(ellipse at 50% 0,#bd945b20,transparent 48%),linear-gradient(135deg,#211e1c,#100f14 60%)}
.directory-top{position:relative;padding-bottom:24px;border-bottom:1px solid rgba(var(--accent-rgb),.2)}
.directory-top:after{content:"";position:absolute;bottom:-3px;left:0;width:65px;height:5px;background:linear-gradient(90deg,var(--frame-light),var(--frame-mid));clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}
.directory h2{text-shadow:0 2px 18px rgba(var(--accent-rgb),.13)}
.directory .search{background:linear-gradient(180deg,#060b1499,#141c2880);border-color:var(--frame-dark);box-shadow:inset 0 1px 8px #0005,0 1px 0 #ffffff08}
.directory .search:focus-within{border-color:var(--accent)}
.directory .back-button{background:linear-gradient(135deg,#ffffff0b,#0003);border-color:var(--frame-mid)}
.directory-meta{align-items:center;gap:12px}
.directory-meta:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(var(--accent-rgb),.25),transparent);order:1}
.directory-meta span:last-child{order:2}
@media(max-width:740px){.game-panel{padding:5px;border-radius:0}.game-panel:before{inset:2px;border-radius:0}.game-panel:after{inset:4px;border-radius:0}.directory-top{padding-bottom:19px}}

/* Original full-color partner artwork, continuously moving right to left. */
.partner-marquee{--partner-width:max(1600px,100vw);overflow:hidden;width:100%;background:#111;outline-offset:4px;border-block:1px solid #ffffff0b;border-radius:0}
.partner-track{display:flex;width:max-content;animation:partner-scroll 42s linear infinite;will-change:transform}
.partner-track>img{display:block;flex:0 0 var(--partner-width);width:var(--partner-width);max-width:none;height:auto;object-fit:contain;filter:none;opacity:1}
.partner-marquee:focus-within .partner-track{animation-play-state:paused}
@keyframes partner-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:740px){.partner-marquee{--partner-width:1400px}.partner-track{animation-duration:38s}}
@media(prefers-reduced-motion:reduce){.partner-marquee{overflow-x:auto}.partner-track{animation:none;transform:none;will-change:auto}.partner-track>img[aria-hidden="true"]{display:none}}

/* Jewel-edged provider cards and larger metallic provider names. */
.provider-card{--card-metal:#b9f6ff;--card-edge:#437c95;--card-depth:#163347;padding:3px;border:1px solid var(--card-edge);border-radius:0;background:linear-gradient(140deg,#efffff 0%,var(--card-edge) 9%,#101a2b 30%,var(--card-metal) 51%,var(--card-depth) 66%,#142030 86%,var(--card-metal) 100%);box-shadow:0 7px 20px #0006,inset 0 0 0 1px #e5ffff35;isolation:isolate}
.slot .provider-card{--card-metal:#ffe6a2;--card-edge:#a57d38;--card-depth:#49311a;background:linear-gradient(140deg,#fff2cd 0%,var(--card-edge) 9%,#211810 30%,var(--card-metal) 51%,var(--card-depth) 66%,#241b13 86%,var(--card-metal) 100%)}
.provider-card:before{content:"";position:absolute;inset:7px;z-index:2;pointer-events:none;border-radius:0;background:linear-gradient(var(--card-metal),var(--card-metal)) left top/22px 1px no-repeat,linear-gradient(var(--card-metal),var(--card-metal)) left top/1px 22px no-repeat,linear-gradient(var(--card-metal),var(--card-metal)) right top/22px 1px no-repeat,linear-gradient(var(--card-metal),var(--card-metal)) right top/1px 22px no-repeat,linear-gradient(var(--card-metal),var(--card-metal)) left bottom/22px 1px no-repeat,linear-gradient(var(--card-metal),var(--card-metal)) right bottom/22px 1px no-repeat;opacity:.8}
.provider-card:hover{border-color:var(--card-metal);box-shadow:0 12px 25px #0008,0 0 22px rgba(var(--accent-rgb),.24),inset 0 0 0 1px #ffffff55}
.provider-image-button{border-radius:0;overflow:hidden}
.provider-caption{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:13px 12px 10px;background:radial-gradient(ellipse at 20% 0,rgba(var(--accent-rgb),.13),transparent 75%),#0b1422;border-radius:0;border-top:1px solid rgba(var(--accent-rgb),.35);min-height:72px}
.provider-caption:before{content:"";position:absolute;top:-1px;left:12%;width:76%;height:1px;background:linear-gradient(90deg,transparent,var(--card-metal),transparent);box-shadow:0 0 7px rgba(var(--accent-rgb),.45)}
.slot .provider-caption{background:radial-gradient(ellipse at 20% 0,#ac7c332b,transparent 75%),#17131a}
.provider-caption .provider-name{flex:1 1 120px;overflow:visible;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif;font-size:23px;font-weight:700;font-style:normal;letter-spacing:-.5px;line-height:1.15;color:#def7ff;background:linear-gradient(180deg,#ffffff 5%,#def7ff 32%,#6db8d5 55%,#e3faff 78%,#83afcf 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 7px #7ed8ff25)}
.slot .provider-caption .provider-name{color:#ffe2a4;background-image:linear-gradient(180deg,#fff9e7 5%,#ffe3a0 32%,#ba8135 55%,#fff0ba 78%,#c99a50 100%);filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 7px #ffc65c25)}
.provider-caption .provider-action{flex:0 0 104px;width:104px;height:39px;margin-left:auto}
@media(max-width:740px){.provider-card{padding:2px;border-radius:0}.provider-card:before{inset:5px}.provider-caption{padding:10px 7px 7px;gap:7px;min-height:92px}.provider-caption .provider-name{flex-basis:100%;font-size:18px;letter-spacing:-.35px}.provider-caption .provider-action{flex:0 0 100%;width:100%;height:34px}.provider-caption .provider-action img{width:min(100%,110px);margin-inline:auto}}

/* New Bolt Casino identity and alpha-masked moving highlight. */
.brand.bolt-logo,.modal-brand.bolt-logo{position:relative;display:block;flex-shrink:0;width:264px;height:auto;aspect-ratio:3.15;overflow:hidden}
.brand.bolt-logo img,.modal-brand.bolt-logo img{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
.bolt-logo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 39%,#fff2ce44 44%,#ffffffdd 48%,#fff5ce66 52%,transparent 58%);background-size:300% 100%;background-position:150% 0;mix-blend-mode:screen;mask:url('../images/bolt-casino-logo-silver.png?v=20261016v') center/contain no-repeat;-webkit-mask:url('../images/bolt-casino-logo-silver.png?v=20261016v') center/contain no-repeat;animation:bolt-logo-shine 5s ease-in-out infinite}
.modal-brand.bolt-logo{width:min(280px,100%)}
@keyframes bolt-logo-shine{0%,30%{background-position:150% 0;opacity:0}35%{opacity:.8}65%{background-position:-50% 0;opacity:.8}70%,100%{background-position:-50% 0;opacity:0}}
@media(max-width:740px){.brand.bolt-logo{width:190px}.modal-brand.bolt-logo{width:min(240px,100%)}}
@media(prefers-reduced-motion:reduce){.bolt-logo:after{display:none}}

.brand.bolt-logo,.modal-brand.bolt-logo{aspect-ratio:1000/391}

/* Fine individual rain streaks move diagonally, rather than a tiled pattern. */
.diagonal-rain{inset:-25% -30%;overflow:hidden;transform:skewX(-18deg)}
.diagonal-rain i{position:absolute;top:-12%;left:var(--x);width:1px;height:var(--length);opacity:var(--alpha);background:linear-gradient(180deg,transparent,#c4e2ff);animation:diagonal-rain-fall var(--speed) var(--delay) linear infinite}
@keyframes diagonal-rain-fall{from{translate:0 -30px}to{translate:0 160vh}}
.provider-visual{position:relative;background:#0b1422;border-radius:0;overflow:hidden}
.provider-caption .provider-en{flex:1 1 0;min-width:0;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:600;font-size:12px;line-height:1.2;text-align:left;color:#f3d7a6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.provider-card--favorites .provider-art img{object-fit:cover;object-position:center}
.slot .provider-caption .provider-en{color:#f3d7a6}
.provider-visual>.provider-action{position:absolute;z-index:3;left:50%;bottom:9px;transform:translateX(-50%);width:43%;max-width:145px;height:auto;aspect-ratio:600/220;margin:0;padding:0;flex:none}
.provider-visual>.provider-action img{width:100%;height:100%;object-fit:contain}
.provider-caption{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:10px 9px;min-height:53px}
.provider-caption .provider-name{display:block;flex:0 1 auto;width:auto;min-width:0;margin-left:auto;white-space:nowrap;overflow-wrap:normal;overflow:hidden;font-size:20.7px;line-height:1.2;text-align:right}
@media(max-width:740px){.provider-visual>.provider-action{bottom:7px;width:56%}.provider-caption{flex-wrap:nowrap;padding:8px 5px;min-height:44px;gap:6px}.provider-caption .provider-en{font-size:10px}.provider-caption .provider-name{flex-basis:auto;font-size:16.2px}.diagonal-rain i:nth-child(2n){display:none}}


/* Borderless, angular main banners inspired by fractured lightning. */
.game-panel,.game-panel.slot{padding:0;border:0;border-radius:0;background:#08111c;box-shadow:0 18px 45px #0007;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}
.game-panel:before,.game-panel:after{content:none}
.game-panel>.hero,.game-panel>.directory{border-radius:0}
.game-panel>.directory{border:0;box-shadow:inset 0 0 35px #0006}
.hero:before,.hero:after{content:"";position:absolute;z-index:2;pointer-events:none;width:55px;height:180px;background:linear-gradient(180deg,#f2ffff,var(--accent) 30%,rgba(var(--accent-rgb),.05));clip-path:polygon(72% 0,35% 27%,56% 25%,11% 61%,35% 54%,0 100%,53% 48%,32% 53%,79% 22%,57% 26%,100% 0);opacity:.15;filter:drop-shadow(0 0 12px var(--accent));animation:banner-electric-pulse 7s ease-in-out infinite}
.hero:before{top:0;left:0}.hero:after{right:0;bottom:0;transform:rotate(180deg);animation-delay:3.5s}
.hero-art{animation:banner-image-breathe 16s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.hero:hover .hero-art,.hero:has(.hero-hitarea:focus-visible) .hero-art{transform:scale(1.055)}
.hero .light-sweep{width:24%;background:linear-gradient(90deg,transparent,#b7edff12,#ffffff20,transparent);animation-duration:6.5s}
.slot .hero .light-sweep{background:linear-gradient(90deg,transparent,#ffe5a512,#fff6d320,transparent)}
.hero:hover:before,.hero:hover:after,.hero:has(.hero-hitarea:focus-visible):before,.hero:has(.hero-hitarea:focus-visible):after{opacity:.6}
.hero-heading h1,.hero-heading h2{filter:drop-shadow(0 0 18px rgba(var(--accent-rgb),.12))}
@keyframes banner-image-breathe{from{scale:1}to{scale:1.025}}
@keyframes banner-electric-pulse{0%,40%,48%,100%{opacity:.12}42%{opacity:.6}44%{opacity:.23}46%{opacity:.45}}
@media(max-width:740px){.game-panel,.game-panel.slot{padding:0;border:0;border-radius:0;clip-path:polygon(17px 0,100% 0,100% calc(100% - 17px),calc(100% - 17px) 100%,0 100%,0 17px)}.game-panel>.hero,.game-panel>.directory{border-radius:0}.hero:before,.hero:after{width:35px;height:115px}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none;scale:1}.hero:before,.hero:after{animation:none;opacity:.15}.hero .light-sweep{display:none}}

/* Faceted corner armour, intermittent electric traces and floating shards. */
.energy-frame{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.energy-frame svg{display:block;width:100%;height:100%;fill:none;stroke:none;overflow:visible}
.frame-trace{stroke:rgba(var(--accent-rgb),.5);stroke-width:1;vector-effect:non-scaling-stroke}
.frame-metal{fill:var(--accent);opacity:.7;filter:drop-shadow(0 0 4px rgba(var(--accent-rgb),.5))}
.frame-current{stroke:#edfcff;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-dasharray:70 500;filter:drop-shadow(0 0 5px var(--accent));animation:frame-current-run 5s linear infinite;opacity:.75}
.slot .frame-current{stroke:#fff0c7;animation-delay:-2.5s}
@keyframes frame-current-run{from{stroke-dashoffset:0}to{stroke-dashoffset:-1140}}
.energy-artifacts{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.energy-artifacts i{position:absolute;left:var(--px);top:var(--py);width:var(--size);height:calc(var(--size)*1.9);background:linear-gradient(120deg,#ffffffc9,rgba(var(--accent-rgb),.62) 28%,rgba(var(--accent-rgb),.12) 48%,#ffffff92 52%,rgba(var(--accent-rgb),.18));clip-path:polygon(55% 0,100% 31%,70% 100%,0 69%);opacity:.45;animation:artifact-hover var(--drift) var(--phase) ease-in-out infinite alternate;filter:drop-shadow(0 0 8px var(--accent))}
@keyframes artifact-hover{0%{translate:0 12px;rotate:-14deg;opacity:.15}50%{opacity:.55}100%{translate:9px -18px;rotate:18deg;opacity:.25}}
.energy-orbit{position:absolute;left:15%;right:15%;top:53%;height:24%;border-radius:0;background:conic-gradient(from 0deg,transparent 0 36%,rgba(var(--accent-rgb),.4) 42%,#ffffffaa 44%,transparent 47% 85%,rgba(var(--accent-rgb),.22) 90%,transparent 94%);mask:radial-gradient(ellipse,transparent 66%,#000 67% 68%,transparent 69%);-webkit-mask:radial-gradient(ellipse,transparent 66%,#000 67% 68%,transparent 69%);opacity:.55;animation:artifact-orbit-glow 6s ease-in-out infinite}
@keyframes artifact-orbit-glow{0%,100%{scale:.96;opacity:.15}50%{scale:1.04;opacity:.6}}
.hero:hover .energy-artifacts i,.hero:has(.hero-hitarea:focus-visible) .energy-artifacts i{filter:brightness(1.3)}
@media(max-width:740px){.energy-artifacts i{scale:.7}.frame-current{stroke-width:1.3}.energy-orbit{opacity:.3}}
@media(prefers-reduced-motion:reduce){.frame-current,.energy-artifacts i,.energy-orbit{animation:none}.frame-current{opacity:.3}.energy-artifacts i{opacity:.25}}

/* Matte steel surfaces and straight, faceted geometry throughout the UI. */
:root{--steel:#798a9c;--matte:#121b27;--cut:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
button,input,textarea,select,dialog,.vip,.avatar,.toast{border-radius:0}
.hero-cta{border:0;background:linear-gradient(110deg,#293945,#101b27 45%,#203644);clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);box-shadow:inset 0 2px 0 rgba(var(--accent-rgb),.65),inset 0 -2px 0 rgba(var(--accent-rgb),.4);font-style:italic;letter-spacing:.3px}
.slot .hero-cta{background:linear-gradient(110deg,#423927,#1b1820 45%,#3b3021)}
.hero:hover .hero-cta{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset 0 0 24px rgba(var(--accent-rgb),.15)}
.quick-menu{border-color:#5b687b;background:#101722ed;box-shadow:0 8px 22px #0008}
.quick-menu button{clip-path:var(--cut);border:0;background:linear-gradient(135deg,#263340,#111b27 70%);box-shadow:inset 3px 0 0 #eac66d88,inset 0 1px 0 #9ba9b733;color:#e3e7ec}
.quick-menu button:hover{box-shadow:inset 3px 0 0 #ffe4a2,inset 0 1px 0 #afbeca66;background:linear-gradient(135deg,#374753,#152230 70%)}
.vip,.provider-badge,.avatar{clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);background:#26313d;border:0;box-shadow:inset 2px 0 0 #d8b964}
.provider-card,.slot .provider-card{padding:2px;border:0;clip-path:var(--cut);background:linear-gradient(135deg,#9caab3,#283845 16%,#121b27 45%,var(--card-edge) 75%,#a8b1b6);box-shadow:none}
.provider-card:hover{box-shadow:none;background:linear-gradient(135deg,#e4f1f3,#395b6d 16%,#172433 45%,var(--card-metal) 75%,#a8b1b6)}
.provider-caption,.slot .provider-caption{background:linear-gradient(120deg,#1e2a36,#101925 70%)}
.provider-action:hover img,.provider-action:focus-visible img{filter:brightness(1.2) drop-shadow(0 0 6px rgba(var(--accent-rgb),.4));transition:filter .2s}
.modal{background:linear-gradient(130deg,#202c39,#111925 65%);border:1px solid #718293;box-shadow:0 24px 80px #000b,inset 3px 0 0 #b39a5a,inset 0 1px 0 #c6d7e244}
.modal-top{padding-bottom:12px;border-bottom:1px solid #798b9c44}
.modal h2{font-weight:900;letter-spacing:-.7px}
.modal-item,.profile-stat,.attendance-summary{background:linear-gradient(135deg,#202d39,#101924);border-color:#4c5b6d;box-shadow:inset 2px 0 0 #a98d4c66}
.form-row input,.form-row select,.form-row textarea,.search{background:#0b131d;box-shadow:inset 0 2px 8px #0005;border-color:#485869}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:#d6bc74}
.gold-button{background:linear-gradient(110deg,#273644,#121e2b 65%,#3b362a)!important;color:#f4d48a!important;border:1px solid #b69a58!important;box-shadow:inset 0 1px 0 #ffffff24;font-style:italic;letter-spacing:.2px}
.gold-button:hover{background:linear-gradient(110deg,#35495a,#1a2c3b 65%,#4e422b)!important}
.back-button,.join-banner-cta{clip-path:var(--cut);background:#25323f;border:0;box-shadow:inset 2px 0 0 #bfa569,inset 0 1px 0 #82929e66}
.modal--join #modal-close{background:#192634;border-color:#8a99a8}
.toast{background:#192633;border-color:#918260;box-shadow:0 8px 35px #0008,inset 3px 0 0 #e4c170}
.calendar-day{background:#131e2a;border-color:#3b4a5c}.calendar-day.is-today{box-shadow:inset 0 2px 0 #e6c16d}
/* The wheel remains circular as a game object, without rounded UI corners. */
.roulette-wheel,.roulette-hub{clip-path:circle(50% at 50% 50%)}
.roulette-wheel:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 64%,#efd18a 65% 68%,#8c652f 69% 70%,transparent 71%)}
@media(max-width:740px){.quick-menu button{clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);box-shadow:inset 0 -1px 0 #a28b4f66}.hero-cta{font-style:normal}}

.brand.bolt-logo,.modal-brand.bolt-logo{aspect-ratio:1000/391}

/* Navigation artwork contains both icons and labels. */
.quick-menu .quick-image-button{display:block;min-height:0;width:100%;height:auto;aspect-ratio:4/5;padding:0;border:0;background:none;box-shadow:none;clip-path:none;transition:transform .2s,filter .2s}
.quick-image-button img{display:block;width:100%;height:100%;object-fit:contain}
.quick-menu .quick-image-button:hover{background:none;box-shadow:none;transform:translateX(-4px);filter:brightness(1.18) drop-shadow(0 0 7px #e7ca7140)}
.quick-image-button:focus-visible{outline:2px solid #e8c875;outline-offset:2px}
@media(max-width:740px){.quick-menu{padding:3px;gap:4px}.quick-menu .quick-image-button{width:52px;aspect-ratio:4/5;min-height:0}.quick-menu .quick-image-button:hover{transform:translateY(-3px)}}

.brand.bolt-logo,.modal-brand.bolt-logo{aspect-ratio:1000/403}
.bolt-logo:after{animation:bolt-logo-soft-shine 9s ease-in-out infinite}
@keyframes bolt-logo-soft-shine{0%,65%{background-position:150% 0;opacity:0}70%{opacity:.16}88%{background-position:-50% 0;opacity:.16}92%,100%{background-position:-50% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.bolt-logo:after{display:none}}

.quick-menu .quick-image-button:hover{filter:brightness(1.1);transform:translateX(-2px)}
@media(max-width:740px){.quick-menu .quick-image-button:hover{transform:translateY(-2px)}}

.partner-marquee{background:transparent;border:0}
.footer>p{font-size:14px;font-weight:600;color:#c9d4e3;line-height:1.8;letter-spacing:.3px;margin-top:18px;text-shadow:0 1px 4px #0008}
.footer-brand{font-size:19px;font-weight:800;color:#edf3fa;letter-spacing:.1px;margin-left:5px}
.footer-bolt{display:inline-block;font-size:20px;color:#edcc75;vertical-align:-1px;margin-inline:3px}
.footer-demo{font-size:10px;color:#9baabd;margin-left:8px;letter-spacing:1px}
@media(max-width:740px){.footer>p{font-size:12px}.footer-brand{font-size:17px}.footer-bolt{font-size:18px}.footer-demo{font-size:9px}}

.brand.bolt-logo,.modal-brand.bolt-logo{aspect-ratio:1000/339}
/* Retain original partner artwork and spacing; key only its black backdrop at paint time. */
.partner-marquee{background:transparent;border:0}
.partner-track>img{filter:url(#partner-background-key);opacity:1}

/* Brand storm: keep rain/lightning even when OS prefers reduced motion */
@media(prefers-reduced-motion:reduce){
  .storm-flash{display:block!important;animation:storm-sky-flash 3s linear infinite!important}
  .storm-bolt{display:block!important;animation:storm-lightning 9s linear infinite!important}
  .storm-bolt-left{animation-delay:0s!important}
  .storm-bolt-center{animation-delay:3s!important}
  .storm-bolt-right{animation-delay:6s!important}
  .diagonal-rain{display:block!important;transform:skewX(-18deg)!important}
  .diagonal-rain i{display:block!important;animation:diagonal-rain-fall var(--speed) var(--delay) linear infinite!important}
  .storm-clouds{animation:storm-cloud-drift 32s ease-in-out infinite alternate!important}
  .storm-clouds-near{animation-duration:23s!important;animation-direction:alternate-reverse!important}
}

/* gtx 호스트(bolt.gtx66.com) SAMPLE 텍스트 로고. bolt-365.com 이미지 로고와 분리 */
.brand.bolt-sample-logo,
.modal-brand.bolt-sample-logo,
.mobile-drawer-top .bolt-sample-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:auto;
  height:auto;
  aspect-ratio:auto;
  overflow:visible;
  text-decoration:none;
  color:#d4af37;
}
.bolt-sample-logo .bolt-sample-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1;
  color:#d4af37;
  text-shadow:0 0 18px rgba(212,175,55,.28);
}
.bolt-sample-logo .bolt-sample-sub{
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1;
  color:#c5a773;
  white-space:nowrap;
}
@media(max-width:740px){
  .brand.bolt-sample-logo .bolt-sample-title{font-size:20px}
  .brand.bolt-sample-logo .bolt-sample-sub{font-size:8px;letter-spacing:.1em}
}
