@font-face{font-family:Myanmar;src:url('/assets/myanmar-regular.ttf')}@font-face{font-family:Myanmar;src:url('/assets/myanmar-bold.ttf');font-weight:700}
:root{--navy:#071b39;--gold:#f3d489;--line:#bb914d;--muted:#b8c9d8;--mint:#95e6c2;color-scheme:dark}*{box-sizing:border-box}body{margin:0;color:#fff1cf;background:radial-gradient(at 50% 0,#17476d,#07162e 70%);font:14px/1.75 Myanmar,system-ui,sans-serif;min-height:100svh}body:before{content:'';position:fixed;inset:0;background:linear-gradient(#071936d9,#06152fed),url('/assets/lounge.png') center/cover;z-index:-1}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid #c79e59;border-radius:15px;padding:10px 20px;background:linear-gradient(145deg,#255c84,#102e51);box-shadow:inset 0 1px #fff3,0 4px #031025,0 6px 12px #0004}button:hover{filter:brightness(1.12)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8ae2d6;outline-offset:3px}.gold{color:#30220b;background:linear-gradient(135deg,#fff1b2,#e7b752 70%,#ffe19b);box-shadow:inset 0 2px #fff8,0 4px #8d6027,0 8px 18px #0004;font-weight:700}.green{background:linear-gradient(135deg,#278764,#064c3a)}a{color:var(--gold)}h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,3vw,43px);color:var(--gold)}h2{color:var(--gold);font-size:24px}.muted{color:var(--muted)}.tiny{font-size:11px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:14px}.grow{flex:1;min-width:0}.full{width:100%}.shell{max-width:1530px;padding:12px 30px 105px;margin:auto}.header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:15px;color:var(--gold)}.brand img{width:64px;filter:drop-shadow(0 5px 4px #0009)}.brand b{font:700 clamp(23px,3vw,39px)/1 Georgia;letter-spacing:2px;text-shadow:0 3px #765327}.brand small{display:block;font:9px Myanmar;margin-top:9px;letter-spacing:2px}.badge{display:inline-block;border:1px solid #9db7b3;border-radius:25px;padding:3px 12px;color:var(--mint);font-size:11px}.avatar{display:grid;place-items:center;border:2px solid #e2bd72;background:linear-gradient(130deg,#e4c077,#795528);color:#173849;border-radius:50%;width:45px;height:45px;font-size:26px;box-shadow:0 4px 9px #0006}.profile .avatar{width:49px;height:49px}.icon{padding:6px;width:46px;height:46px;font-size:22px}.panel{background:linear-gradient(135deg,#194570f0,#0a2448f5);border:1.5px solid var(--line);border-radius:23px;padding:23px;box-shadow:inset 0 1px #ffdf9c2e,0 8px 22px #0004}.hub-title{text-align:center;margin:8px 0 20px;font-size:21px;color:var(--gold)}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{position:relative;overflow:hidden;background:radial-gradient(at 50% 40%,#155b4a,#052b29 80%);border:2px solid #e4be70;border-radius:34px;box-shadow:inset 0 0 0 3px #183f43,0 12px 30px #0006;min-height:430px;padding:17px 24px 25px;text-align:center}.game-card.monopoly{background:radial-gradient(at 60% 30%,#257286,#082d4c 78%)}.game-card.uno{background:radial-gradient(at 45% 30%,#18574c,#3c1630 100%)}.game-card .badge{position:absolute;top:19px;left:22px;border-color:#e3bd6e;color:#ffe7ac;z-index:1;background:#072e32c9}.game-card canvas{width:100%;height:240px;display:block}.game-card h2{font-size:clamp(22px,2.1vw,34px);text-shadow:0 3px #64471d}.game-card .english{font:700 14px/1.4 Georgia;letter-spacing:2px;color:var(--gold);margin:5px 0 15px}.game-card .gold{width:100%;border-radius:35px;font-size:18px}.game-card .tiny{margin-top:10px}.friends-strip{margin:20px auto 0;max-width:900px;text-align:center;padding:12px 20px}.nav{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:35px;justify-content:center;width:min(1000px,95vw);background:linear-gradient(#13385a,#0a203f);border:1px solid #cba85f;border-radius:40px;padding:8px 25px;z-index:20;box-shadow:0 8px 24px #0008}.nav button{border:0;background:none;box-shadow:none;padding:4px 22px;color:var(--muted);font-size:12px;min-width:110px}.nav button span{font-size:25px;margin-right:8px;vertical-align:middle}.nav .active{color:#fff0bf;background:linear-gradient(#a07b3d,#4a391e);border-radius:30px;box-shadow:inset 0 0 0 1px #d9b45e}.auth-layout{display:grid;grid-template-columns:.95fr 1.05fr;min-height:100svh;align-items:center;gap:35px;max-width:1400px;margin:auto;padding:30px}.auth-art{text-align:center}.auth-art .crest{width:150px;filter:drop-shadow(0 10px 13px #d8aa5040)}.auth-art h1{font:700 55px Georgia;text-shadow:0 4px #8a5c29}.auth-art canvas{height:300px;width:100%}.auth-panel{border:2px solid #d9b97b;border-radius:34px;padding:30px;background:linear-gradient(140deg,#1a4770,#081e42);box-shadow:inset 0 0 0 3px #1b3558,0 15px 50px #0006}.auth-panel h1{font-size:30px;margin-bottom:15px}.auth-panel button{margin-top:16px}.auth-panel .gold{font-size:19px}.auth-panel .hint{font-size:11px;padding:10px;color:var(--muted);border:1px solid #537494;border-radius:12px;margin-top:12px}label{display:block;color:var(--muted);font-size:12px;margin:12px 0 5px}input,select{background:#f2f0e9;color:#142c42;border:1px solid #c4a96f;border-radius:12px;padding:10px 13px;width:100%;min-width:0}input[type=checkbox]{width:auto;accent-color:#d8b05e}input[type=range]{accent-color:#e8c47b}.password{display:flex;gap:8px}.password button{margin:0;padding:3px 12px}.link{background:none;box-shadow:none;border:0;color:var(--gold);text-decoration:underline;padding:4px 0}.notice{padding:13px 17px;border:1px solid #9bb3b277;border-radius:13px;color:#c8dfd5;background:#0a3b3533;font-size:12px}.list{padding:14px 0;border-bottom:1px solid #ffffff13}.list:last-child{border:0}.tabs{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.stat b{font:700 42px Georgia;color:var(--gold);display:block}.admin-layout{display:grid;grid-template-columns:200px 1fr;gap:25px}.admin-menu button{width:100%;margin-bottom:12px;padding:16px 8px;text-align:left}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table td,.admin-table th{padding:10px 5px;border-bottom:1px solid #ffffff22;text-align:left}.positive{color:#91e2bc}.frame-wrap{position:fixed;inset:0;background:#071a36;z-index:25}.frame-wrap iframe{width:100%;height:100%;border:0}.frame-tools{position:absolute;bottom:4px;left:8px;display:flex;gap:6px;z-index:30;opacity:.85}.frame-tools button{font-size:10px;padding:4px 10px;border-radius:20px}#overlay:empty{display:none}.shade{position:fixed;inset:0;background:#020c1dda;backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{position:relative;width:min(650px,96vw);max-height:90svh;overflow:auto;background:linear-gradient(135deg,#164e64,#071e3f);border:2px solid var(--line);padding:27px;border-radius:27px;box-shadow:0 20px 60px #0009}.close{position:absolute;right:15px;top:12px;padding:2px 10px;font-size:22px}.dialog h2{padding-right:30px;margin-bottom:15px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:90vw;border-radius:15px;padding:12px 23px;background:#ffe9b2;color:#11374c;z-index:150;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1}.empty{text-align:center;padding:35px;color:var(--muted)}.sw-state{font-size:10px;text-align:center;color:#b2cabf;margin-top:12px}.rotate-hint{display:none}canvas{max-width:100%}.header .welcome{font-size:17px;color:var(--gold)}
@media(max-width:1000px){.shell{padding:9px 16px 95px}.game-card{padding:15px 13px;min-height:350px;border-radius:25px}.game-card canvas{height:190px}.game-card h2{font-size:21px}.game-card .english{font-size:10px}.header .welcome{display:none}.auth-layout{gap:18px;padding:20px}.auth-art h1{font-size:38px}.auth-art .crest{width:110px}.auth-panel{padding:22px}.auth-panel h1{font-size:24px}.admin-layout{grid-template-columns:150px 1fr;gap:15px}.two-col{gap:14px}}
@media(max-height:560px) and (orientation:landscape){body{font-size:11px}.header{height:60px}.brand img{width:42px}.brand b{font-size:25px}.profile .avatar{width:35px;height:35px}.shell{padding:4px 14px 65px}.hub-title{font-size:14px;margin:0 0 8px}.game-grid{gap:12px}.game-card{min-height:245px;border-radius:24px;padding:9px 13px 12px}.game-card canvas{height:132px}.game-card h2{font-size:20px}.game-card .english{margin:2px 0 8px;font-size:10px}.game-card .badge{top:9px;left:11px;font-size:9px;padding:1px 8px}.game-card .gold{font-size:12px;padding:5px 12px}.game-card .tiny{font-size:8px;margin-top:4px}.nav{bottom:5px;padding:3px 18px;width:min(850px,94vw)}.nav button{font-size:10px;padding:1px 15px}.nav button span{font-size:20px}.friends-strip{margin-top:9px;padding:5px;font-size:10px}.sw-state{font-size:8px;margin-top:4px}.auth-layout{padding:14px;gap:20px;align-items:start}.auth-art .crest{width:70px}.auth-art h1{font-size:32px}.auth-art canvas{height:200px}.auth-panel{padding:15px 23px}.auth-panel h1{font-size:22px;margin-bottom:4px}.auth-panel label{margin-top:6px;font-size:10px}.auth-panel input{padding:5px 10px}.auth-panel .hint{padding:5px;font-size:9px}.auth-panel button{margin-top:8px}.auth-panel .gold{font-size:14px;padding:6px}.auth-panel .password button{margin:0}.panel{padding:15px}.stats{margin:10px 0;gap:12px}.stat b{font-size:28px}.admin-menu button{font-size:10px;padding:12px 5px}.dialog{max-height:93svh}}
@media(max-width:650px) and (orientation:portrait){.auth-layout{grid-template-columns:1fr}.auth-art canvas{display:none}.auth-art .crest{width:65px}.auth-art h1{font-size:28px}.auth-art p{font-size:12px}.game-grid{grid-template-columns:1fr}.game-card canvas{height:210px}.game-card{min-height:350px}.nav{gap:0;padding:6px}.nav button{min-width:0;padding:4px 13px;font-size:10px}.nav button span{display:block;margin:0;font-size:22px}.two-col,.stats{grid-template-columns:1fr}.admin-layout{grid-template-columns:1fr}.admin-menu{display:flex;gap:7px;overflow:auto}.admin-menu button{min-width:100px}.header .profile .avatar{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
