/* Only approved 03 artwork. Color samples are recorded in SELECTED03_TOKENS.json. */
:root{--s03-night:#07184d;--s03-deep:#002184;--s03-blue:#002792;--s03-mid:#105bb8;--s03-glass:#224fa6;--s03-edge:#9dcaf9;--s03-ice:#cde1fe;--s03-light:#dbebfe;--s03-white:#fbfcff;--s03-cyan:#3acdfd;--text:var(--s03-white);--bg:var(--s03-night);--font:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
html,body{background:var(--s03-night);color:var(--s03-white);font-family:var(--font)}body{background-image:url('./city-original.webp');background-size:cover;background-position:center;background-attachment:fixed}#app{background:transparent;padding:calc(10px + var(--safe-top)) 14px calc(86px + var(--safe-bottom));max-width:520px}h1,h2,h3,.brand b,.ui03-display{font-family:var(--font);letter-spacing:0}h1{font-weight:800;text-shadow:none}h2{font-weight:750}.panel{background:linear-gradient(120deg,var(--s03-light),var(--s03-ice));color:var(--s03-night);border:12px solid transparent;border-image:url('./panel-frame.webp') 34 / 12px stretch;padding:9px;margin-bottom:12px;border-radius:13px;box-shadow:none}.panel h1,.panel h2,.panel h3,.panel label,.panel p,.panel .fields-note,.panel small{color:var(--s03-night)}.glass,button:not(.primary){background:linear-gradient(130deg,#9dcaf955,#224fa6bb);border:1px solid var(--s03-edge);box-shadow:inset 0 1px 2px #fbfcff99;color:var(--s03-white)}.primary,button.primary,a.primary{border:9px solid transparent;border-image:url('./button-frame.webp') 30 / 9px stretch;border-radius:4px;background:linear-gradient(180deg,var(--s03-cyan),var(--s03-mid) 28%,var(--s03-blue));box-shadow:inset 0 0 8px var(--s03-cyan);min-height:52px;padding:7px 12px;font-weight:750;color:var(--s03-white)}input,select,textarea,.panel input,.panel select,.panel textarea{border:1px solid var(--s03-edge);background:linear-gradient(135deg,var(--s03-white),var(--s03-ice));color:var(--s03-night);font-size:16px;box-shadow:inset 0 1px 2px #fbfcff99}.ui03-brand-logo{width:153px;max-width:100%;height:auto;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.top{padding:0;min-height:44px;margin:0 0 10px;gap:7px}.top .icon{height:36px;width:36px;min-width:36px;padding:7px}.top h1{font-size:21px}.top .brand{display:flex;justify-content:center}.scene,.scene.security{background:none;border:0;border-radius:0;margin:0 -14px 8px;height:auto;aspect-ratio:853/650;overflow:hidden}.scene>img{position:static;inset:auto;width:100%;height:100%;object-fit:cover;filter:none}.scene:after,.scene:before{display:none!important}.scene.scene-01-lobby{margin:0 0 8px;aspect-ratio:816/354;height:auto;border-radius:8px;overflow:hidden}.scene.scene-01-lobby>img{height:100%;width:100%;object-fit:fill}.page-title h1,.security-page-title{font-family:var(--font);font-size:28px;letter-spacing:0;text-align:center}.page-title{margin:12px 0 14px}.page-title p{text-align:center;font-size:14px}.fields-note{line-height:1.5}.notice.error{background:var(--s03-ice);color:var(--s03-night);border-color:var(--s03-edge)}
/* L01: same order/profile/quick row/banner/notice/two primary cards/nav. */
.lobby-top{display:flex;justify-content:space-between;margin:0 0 10px;min-height:40px}.lobby-top .brand{flex:1;justify-content:flex-start}.lobby-top .row{gap:5px;flex:none}.lobby-top .icon{padding:5px;background:transparent;border:0;width:30px;min-width:30px}.language-chip{padding:5px 8px;min-height:32px;font-size:12px;border-radius:16px}.lobby-profile{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid var(--s03-edge);background:linear-gradient(120deg,#9dcaf988,#224fa6bb);color:var(--s03-white);border-radius:13px;box-shadow:inset 0 1px 2px #fbfcff99;min-height:60px;margin:0 0 8px}.lobby-profile .avatar{width:48px;height:48px;border:1px solid var(--s03-white);margin:0}.lobby-person{flex:1;min-width:0;line-height:1.4}.lobby-person>b{font-size:14px}.lobby-person small{display:block;font-size:11px;color:var(--s03-light);white-space:nowrap}.lobby-wallet{display:flex;gap:2px;align-items:center;justify-content:center;border-left:1px solid #9dcaf988;padding-left:7px;min-width:0}.lobby-wallet strong{font-size:12px;white-space:nowrap}.lobby-wallet .icon{padding:0;width:19px;min-width:19px;height:28px;border:0;background:none;box-shadow:none}.wallet-link{display:flex;align-items:center;gap:3px;font-size:13px;min-height:38px;border:1px solid var(--s03-white);border-radius:9px;padding:4px 7px;background:linear-gradient(130deg,#9dcaf988,#105bb8bb)}.wallet-link svg{width:19px;height:19px}.wallet-link svg:last-child{width:11px}.ui03-quick-links{display:grid;grid-template-columns:1.95fr repeat(3,.62fr);gap:6px;margin:0 0 9px}.ui03-quick-links>a,.ui03-quick-links>button{padding:4px 3px;min-height:49px;font-size:11px;display:flex;flex-direction:column;gap:3px;justify-content:center;align-items:center;border-radius:8px}.ui03-quick-links svg{height:21px;width:21px}.ui03-quick-links .lobby-cash-card{flex-direction:row;gap:4px;background:linear-gradient(130deg,var(--s03-white),var(--s03-ice));color:var(--s03-night);border:1px solid var(--s03-white);font-size:10px;justify-content:flex-start}.lobby-cash-card img{width:40px;height:36px;object-fit:contain}.lobby-cash-card small{font-size:10px}.lobby-cash-card strong{font-size:15px;display:block;font-weight:800;white-space:nowrap}.lobby-cash-card>span{margin-left:auto;font-size:23px;color:var(--s03-blue)}.lobby-page .ticker{padding:5px 9px;min-height:28px;font-size:12px;border-radius:9px;margin:0 0 9px;background:linear-gradient(110deg,#105bb8cc,#224fa6bb)}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.game-card{display:block;padding:0;position:relative;overflow:hidden;border:2px solid var(--s03-edge);border-radius:16px;background:var(--s03-deep);min-height:0;aspect-ratio:380/480;text-align:left;box-shadow:inset 0 0 0 1px var(--s03-white)}.game-card .game-art{height:67%;width:100%;margin:0;position:absolute;inset:0 0 auto;overflow:hidden}.game-card .game-art img{width:100%;height:100%;object-fit:cover;position:static;filter:none}.game-card .copy{position:absolute;inset:auto 5px 6px;padding:6px 1px 0;z-index:1;background:linear-gradient(transparent,#002184dd 15%)}.game-card h2{font-family:var(--font);font-size:23px;font-weight:900;line-height:1.2;margin:0 0 4px;text-shadow:0 1px var(--s03-blue);white-space:nowrap}.game-card small{font-size:11px;color:var(--s03-light);line-height:1.3;display:block;margin-bottom:7px}.game-enter{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:9px;min-height:31px;border:1px solid var(--s03-white);background:linear-gradient(#3acdfd,#105bb8 55%,#002792);font-size:15px;font-weight:700;box-shadow:inset 0 0 5px var(--s03-cyan)}.game-enter svg{width:18px;height:18px}.game-card[data-game=mines] .game-enter{opacity:.65}.nav{background:linear-gradient(180deg,#224fa6ee,#07184df5);border:1px solid var(--s03-edge);border-radius:28px 28px 0 0;padding:8px 9px calc(7px + var(--safe-bottom));gap:8px;box-shadow:inset 0 2px 3px #9dcaf999;height:auto;min-height:70px}.nav a,.nav a[aria-current=page]{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:49px;padding:3px;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:12px;color:var(--s03-white)}.nav a>svg{height:25px;width:25px}.nav a[aria-current=page]:after{content:'';position:absolute;bottom:-2px;width:24px;height:3px;background:var(--s03-white);box-shadow:0 0 7px var(--s03-cyan);border-radius:4px}.nav-owner-bull{height:43px;width:45px;object-fit:contain;filter:drop-shadow(0 0 5px var(--s03-cyan));margin-top:-14px}.nav a[href='/room']{border-radius:50%;overflow:visible}
/* R02-R09 preserve artwork, hierarchy and usable form controls. */
body[data-page=language] #app,body[data-page=device] #app,body[data-page=pin] #app,body[data-page=inviter] #app,body[data-page=identity] #app{padding-bottom:22px}body[data-page=language]{background:linear-gradient(var(--s03-light),var(--s03-edge));color:var(--s03-night)}body[data-page=language] #app{background:transparent}body[data-page=language] .page-title h1,body[data-page=language] .page-title p{color:var(--s03-night)}body[data-page=language] .scene{aspect-ratio:853/713;margin-bottom:8px}body[data-page=language] [data-lang]{display:flex;text-align:left;align-items:center;justify-content:space-between;min-height:49px;padding:10px 17px;color:var(--s03-night);font-weight:650;background:linear-gradient(120deg,var(--s03-light),var(--s03-ice));border:1px solid var(--s03-white);border-radius:10px;font-size:17px}body[data-page=language] [data-lang]:after{content:'';width:20px;height:20px;border:1px solid #224fa655;border-radius:4px}body[data-page=language] [data-lang][aria-pressed=true]{border:2px solid var(--s03-cyan);box-shadow:0 0 0 1px var(--s03-white)}body[data-page=language] [data-lang][aria-pressed=true]:after{content:'✓';background:var(--s03-mid);color:var(--s03-white);text-align:center;line-height:20px}#language-next{margin-top:18px}body[data-page=language] .top h1{display:none}body[data-page=language] .top:after{content:'';background:url('./logo.webp') center/contain no-repeat;width:150px;height:40px;margin:auto}body[data-page=language] .top>.icon{display:none}.security-top+.security-page-title{display:none}.security-top{justify-content:space-between}.security-top .brand{position:absolute;left:25%;right:25%}.scene-15-set-pin{aspect-ratio:853/521!important}.scene-15-set-pin+.page-title{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}body[data-page=pin] .pin-form{margin-top:0;padding:16px 12px}.pin-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.pin-cells i{height:45px;min-width:0;background:#dbebfe77;border:1px solid var(--s03-white);border-radius:10px}.pin-cells i.filled:after{background:var(--s03-mid);width:14px;height:14px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.keypad button{height:45px;font-size:26px;font-weight:500;border-radius:13px;background:linear-gradient(130deg,#9dcaf966,#224fa699);border:1px solid var(--s03-edge)}.keypad button:disabled{visibility:hidden}.pin-form .fields-note{margin:20px 0;text-align:center;font-size:13px}.pin-form .primary{margin-top:14px}body[data-page=pin] #recover-pin{background:none;border:0;box-shadow:none;font-size:12px}.scene-17-real-name{aspect-ratio:853/474!important}.scene-14-inviter-uid{aspect-ratio:853/645!important}.device-identity img{display:none}.device-identity{display:block}.device-identity .data-line{justify-content:flex-start;gap:35px}.device-identity .data-line strong{font-size:18px}.device-binding-form details{display:none}.device-binding-form .primary{margin-top:18px}#skip-inviter{border-radius:8px;min-height:40px;width:100%;margin-top:10px;background:#224fa655;color:var(--s03-white);border:1px solid var(--s03-edge)}body[data-page=inviter] form.panel #skip-inviter{color:var(--s03-night)}
/* G01-G06: stage illustration is a thumbnail beside authoritative message, not a new banner. */
.room,.support{background:url('./city-original.webp') center/cover}.room .top,.support .top{background:linear-gradient(100deg,#224fa6dd,#105bb8bb);padding:8px 10px}.hero-room{background:linear-gradient(110deg,#105bb8aa,#002184cc);border:1px solid var(--s03-edge);border-radius:13px;height:184px;margin:0 10px 7px}.hero-room>img{width:45%;height:100%;object-fit:cover;object-position:left;left:0;filter:none}.hero-data{left:46%;font-size:11px}.clock-group{left:47%;right:10px;bottom:33px}.clock-group>small{font-weight:750;font-size:20px}.clock-group>b{font-size:43px}.progress-track{left:47%;right:12px;bottom:18px;background:var(--s03-blue)}.stage-card{display:flex;align-items:center;gap:8px;padding:0;margin:9px 0 14px;min-height:75px;border:1px solid var(--s03-cyan);border-radius:8px;background:linear-gradient(110deg,#105bb8,#002792);box-shadow:inset 0 0 5px var(--s03-cyan)}.stage-card .ui03-stage-thumb{position:static;flex:none;inset:auto;height:78px;width:79px;object-fit:cover;border-radius:7px 0 0 7px}.stage-card>div.stage-text{padding:9px 8px 9px 0;flex:1;width:auto;min-width:0;font-size:14px;white-space:pre-wrap;color:var(--s03-white)}.ui03-stage-brand{display:none}.bubble{background:linear-gradient(120deg,var(--s03-white),var(--s03-ice));border:1px solid var(--s03-white);color:var(--s03-night);border-radius:10px;box-shadow:none}.mine .bubble{background:linear-gradient(#105bb8,#002792);color:var(--s03-white)}.composer{background:linear-gradient(#224fa6dd,#07184ddd);padding:8px 10px calc(8px + var(--safe-bottom));border-top:0}.composer textarea{background:#224fa6bb;color:var(--s03-white);border:1px solid var(--s03-edge);border-radius:24px}.composer textarea::placeholder{color:var(--s03-edge)}.composer .icon{border-radius:17px}.composer .send{border-radius:50%;background:linear-gradient(var(--s03-cyan),var(--s03-blue));border:1px solid var(--s03-white)}.ui03-room-controls{background:transparent;gap:6px;padding:7px 10px}.ui03-room-controls button{min-height:46px;font-size:15px;border-radius:9px}.ui03-room-controls button.active{background:linear-gradient(var(--s03-cyan),var(--s03-blue));color:var(--s03-white)}.ui03-page-hero{background:none;border:0;box-shadow:none;position:relative;min-height:130px;height:150px;overflow:hidden;margin:0 -14px 0;border-radius:0}.ui03-page-hero>.ui03-art{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:1;filter:none}.ui03-page-hero>div{position:absolute;inset:auto 14px 10px;z-index:1;text-shadow:0 2px var(--s03-deep)}.ui03-page-hero>div>small{display:none}.ui03-page-hero h1{font-size:25px;margin:0}.ui03-page-hero p{font-size:12px;margin:3px 0 0}.ui03-section-title{font-size:16px}.ui03-balance{margin:0 0 9px;background:linear-gradient(#105bb8,#002792);color:var(--s03-white)}.ui03-balance strong{font-size:32px}.ui03-balance small{color:var(--s03-white)}.ui03-balance>div{color:var(--s03-white);border-top:1px solid var(--s03-edge);padding-top:7px}.ui03-shortcuts{padding:8px;gap:5px}.ui03-shortcuts a{font-size:12px;text-align:center;background:#dbebfe77;border:1px solid var(--s03-white);border-radius:8px;padding:9px 3px}.ui03-admin{--radius:8px}.ui03-admin-main{background:linear-gradient(#cde1feeb,#dbebfef5);color:var(--s03-night)}.ui03-admin .ui03-sidebar{width:186px;background:linear-gradient(#105bb8,#07184d);border-right:1px solid var(--s03-edge)}.ui03-admin-top{background:linear-gradient(#cde1fe,#dbebfe);border-bottom:1px solid var(--s03-edge)}.ui03-admin .panel{border-width:8px;border-image-width:8px;padding:9px}.ui03-admin table{background:#fbfcff99;color:var(--s03-night)}.ui03-admin thead{background:#9dcaf988}.ui03-admin td,.ui03-admin th{border-color:#224fa622;font-size:12px}.ui03-admin .ui03-admin-brand{padding:10px}.ui03-admin .ui03-sidebar a{font-size:13px}.ui03-admin .ui03-admin-main h1{color:var(--s03-night)}
@media(max-width:359px){#app{padding-left:10px;padding-right:10px}.lobby-top .brand img{width:132px}.lobby-top .row{gap:2px}.lobby-top .icon{width:27px;min-width:27px}.lobby-profile{gap:5px;padding:6px}.lobby-profile .avatar{width:39px;height:39px}.lobby-person small{font-size:9px}.wallet-link{font-size:11px;padding:3px}.lobby-wallet strong{font-size:10px}.ui03-quick-links{gap:4px}.lobby-cash-card img{width:30px}.lobby-cash-card strong{font-size:13px}.game-card h2{font-size:19px}.game-card small{font-size:10px}.game-enter{font-size:13px;min-height:29px}}
.game-card{border:7px solid transparent;border-image:url('./game-frame-original.webp') 20 / 7px stretch}.ui03-admin .ui03-admin-banner{height:152px;position:relative;padding:0;margin:0 0 12px;background:none;border:0;border-radius:0;overflow:hidden}.s03-admin-banner-art{height:100%;width:100%;position:absolute;inset:0;object-fit:cover}.ui03-admin-banner h2{position:absolute;left:20px;bottom:15px;font-size:29px;color:var(--s03-white);text-shadow:0 2px var(--s03-deep)}.ui03-admin[data-admin-kind=finance] .ui03-admin-banner,.ui03-admin[data-admin-kind=overview] .ui03-admin-banner{display:none}.ui03-admin-stats{gap:10px}.s03-reward-summary .data-line{font-size:14px;padding:11px 0}.s03-reward-summary strong{font-variant-numeric:tabular-nums}.ui03-admin-main>.ui03-admin-tools{display:flex;gap:12px;align-items:end}.ui03-admin-tools label{font-size:12px}.ui03-admin-tools label:first-child{flex:1}.ui03-admin-tools input{height:34px;min-height:34px;font-size:13px}.ui03-admin-tools button{min-height:34px;font-size:12px}.ui03-admin .ui03-admin-content{padding:0}
.scene,.scene.security{width:calc(100% + 28px)}.scene.scene-01-lobby{width:100%}body[data-page=language] [data-lang][aria-pressed=true]{background:linear-gradient(120deg,var(--s03-light),var(--s03-ice));color:var(--s03-night)}.language-flag{font-size:28px;line-height:1;margin-right:13px;flex:none}.language-name{flex:1}body[data-page=language] [data-lang]{justify-content:flex-start;font-size:17px}.ui03-admin-gate{display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(400px,.95fr);gap:36px;align-items:center;min-height:100dvh;max-width:1160px;margin:auto;padding:40px}.ui03-admin-gate .top{grid-column:1/-1}.ui03-admin-gate .s03-admin-gate-art{width:100%;height:580px;object-fit:cover;object-position:left}.ui03-admin-gate #admin-content{min-width:0}.ui03-admin-gate .panel{padding:25px}.ui03-admin-gate .panel h2{font-size:24px;margin-bottom:20px}.ui03-admin-gate .panel input{min-height:54px;letter-spacing:12px;text-align:center;font-size:24px}.ui03-admin-gate .primary{margin-top:20px}
@media(max-width:720px){.ui03-admin-gate{display:block;padding:15px}.ui03-admin-gate .s03-admin-gate-art{height:240px}.ui03-admin-gate .panel{padding:15px}}
.s03-device-row{display:flex;align-items:center;gap:20px;padding:16px 8px;border-bottom:1px solid var(--s03-edge)}.s03-device-row:last-child{border-bottom:0}.s03-device-row>svg{width:42px;height:42px;padding:7px;background:#dbebfe77;stroke:var(--s03-mid);border:1px solid var(--s03-white);border-radius:10px}.s03-device-row small,.s03-device-row strong{display:block}.s03-device-row strong{font-size:19px;margin-top:5px}.s03-device-row small{font-size:13px}.ui03-admin-gate{position:relative}.ui03-admin-gate>#admin-language{position:absolute;top:18px;right:25px;width:auto}.ui03-admin-gate #admin-enrollment:empty{display:none}.s03-empty-table{padding:40px!important;text-align:center}.ui03-admin #ui03-admin-content{padding:0;min-height:380px}.ui03-admin table{width:100%}body[data-page=packet] .scene{margin-bottom:0;aspect-ratio:853/540}body[data-page=packet] section>.panel:has(#packet-amount){background:linear-gradient(#224fa6aa,#002184cc);color:var(--s03-white);text-align:center}body[data-page=packet] .packet-section-title{color:var(--s03-white);font-size:20px}.packet-amount{font-size:47px;color:#f9dc83}.ui03-packet-note{color:var(--s03-light);font-size:12px}.s03-mines-hero{width:calc(100% + 28px);margin:0 -14px;display:block}.s03-mines-status{text-align:center}.s03-mines-status h2{font-size:20px}.s03-mines-status p{font-size:14px;margin-top:12px}.ui03-profile-links{margin-bottom:16px}
