
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 35%,#46414e,#24232b 64%,#18171d);color:#f9f6ff;font-family:'Segoe UI','Microsoft YaHei',sans-serif}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:focus-visible{outline:2px solid #e1c9ff;outline-offset:3px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.defs{position:absolute;width:0;height:0;overflow:hidden}.workspace{display:flex;justify-content:center;align-items:center;gap:66px;min-height:100vh;padding:30px}.caption{width:250px}.kicker{letter-spacing:3px;font-size:10px;color:#ba9ed7}.caption h1{font-size:49px;letter-spacing:-3px;line-height:1.15;margin:24px 0}.caption h1 span{color:#c89cfa}.caption p{font-size:14px;color:#b9afc4;line-height:1.9}.caption .rule{height:1px;background:#ffffff20;margin:27px 0}.caption small{display:block;color:#ab9bb9;line-height:1.9;font-size:12px}.caption button{border:1px solid #9172aa;padding:11px 16px;border-radius:12px;font-size:12px;margin-top:20px}.phone{width:390px;height:844px;max-height:calc(100vh - 62px);min-height:580px;background:#0d0b13;border:1px solid #645970;border-radius:39px;box-shadow:0 0 0 4px #ffffff0c,0 30px 80px #0007;display:flex;flex-direction:column;overflow:hidden;position:relative}.status{height:37px;flex:none;padding:14px 24px 0;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:650}.status svg{width:16px;height:16px;margin-left:6px}.scroll{flex:1;overflow-y:auto;scrollbar-width:none;background:radial-gradient(ellipse at 90% 12%,#2b17312a,transparent 56%)}.scroll::-webkit-scrollbar,.rail::-webkit-scrollbar{display:none}.masthead{padding:16px 22px 0}.brandline{display:flex;align-items:center;justify-content:space-between}.brand{font-size:29px;font-weight:850;letter-spacing:-1.2px;display:flex;align-items:center;gap:5px}.logo{width:26px;height:26px;border:7px solid #ba8cf8;border-radius:50%;background:linear-gradient(145deg,#0b0713,#3e2259);box-shadow:inset 0 0 9px #bd83fa88;position:relative}.logo:after{content:'';position:absolute;right:-6px;top:-8px;width:10px;height:10px;background:#8f68b7;border:2px solid #f4e8ff;border-radius:50%}.message{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#2e223b,#1b1626)}.masthead h1{font-size:28px;margin:14px 0 18px;letter-spacing:1px}.sectionline{padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.sectionline h2{font-size:19px;letter-spacing:.2px;margin:0}.segment{display:flex;padding:2px;background:#241c30;border-radius:25px}.segment button{font-size:12px;padding:9px 17px;border-radius:23px;color:#c1abd9;min-height:36px}.segment button.on{background:linear-gradient(120deg,#cd9dff,#aa76ed);color:#211032;box-shadow:inset 0 1px 0 #f2d9ff88;font-weight:750}.rail{display:flex;gap:12px;overflow:auto;padding:2px 22px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}.rankcard{min-width:calc(100% - 30px);scroll-snap-align:start;scroll-margin-left:22px;border:1px solid #8f6cad;border-radius:23px;padding:13px 14px 12px;background:radial-gradient(ellipse at 30% -12%,#72409b6b,transparent 65%),linear-gradient(130deg,#2e1c40,#14111f 65%,#24162e);position:relative;box-shadow:inset 0 1px 0 #dec0ff55}.rankcard:first-child{border-color:#d4a2fc;box-shadow:inset 0 0 0 1px #e3b9ff33,0 0 25px #b16bf314}.cardtop{display:flex;align-items:center;gap:9px;white-space:nowrap}.cardtop h3{font-size:22px;margin:0;letter-spacing:.2px}.pill{border:1px solid #b98edf;color:#cbb2e8;padding:3px 9px;border-radius:15px;font-size:11px}.dots{margin-left:auto;letter-spacing:2px;font-size:15px}.description{font-size:12px;color:#c5afd9;margin:8px 0 0}.champion{height:100px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;padding-bottom:4px}.orbital{position:absolute;width:145px;height:42px;top:28px;left:calc(50% - 72px);border:1px solid #c4aadf88;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 18px #ac65eb20}.orbital:before{content:'';position:absolute;left:11px;top:1px;width:10px;height:10px;border-radius:50%;background:#e0a5ff;box-shadow:0 0 12px 4px #b967fd}.orbital:after{content:'';position:absolute;right:9px;bottom:6px;width:12px;height:12px;border-radius:50%;background:#a1f9c6;box-shadow:0 0 14px #70e6a5}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #dbc0f2;background:#bdb3c7;overflow:hidden}.avatar svg{width:100%;height:100%;stroke:none}.winnerface{width:46px;height:46px;border:4px solid #bd8bea;box-shadow:0 0 17px #ca82ff66;z-index:1;overflow:visible;background:#d4bddb;position:relative}.winnerface svg{border-radius:50%}.winnerface .crown{position:absolute;top:-20px;left:9px;width:21px;height:19px;fill:#f5e5ae;stroke:#fff1c9;filter:drop-shadow(0 0 5px #f4cf8555)}.champion strong{font-size:15px;margin-top:3px;z-index:1}.champion b{font-size:18px;color:#ca98ff;margin-top:2px}.rankrow{display:flex;align-items:center;gap:10px;height:33px;font-size:14px}.rankrow .number{width:14px;font-weight:700}.rankrow .score{margin-left:auto;color:#d2b2ef;font-size:14px}.runners{border-top:1px solid #a67bcf2e;border-bottom:1px solid #a67bcf2e;padding:5px 0}.mine{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:11px;color:#c5adda;white-space:nowrap}.mine b{font-size:22px;color:#cca0ff;margin-left:2px}.mine em{font-style:normal;margin-left:auto;padding-left:8px;border-left:1px solid #8769a3;font-size:11px}.mine .avatar{width:25px;height:25px}.cta{background:linear-gradient(105deg,#c49afa,#b27beb 70%,#bd89f6);color:#1d0d2f;border-radius:25px;height:44px;width:100%;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:inset 0 1px 0 #f0d9ff77,0 4px 20px #b579ec13}.pager{display:flex;align-items:center;justify-content:space-between;padding:5px 23px 10px;height:40px;color:#b59ccb;font-size:12px}.dotset{display:flex;gap:8px}.dotset button{width:8px;height:8px;border-radius:50%;background:#3d304d;padding:0;position:relative}.dotset button:after{content:'';position:absolute;inset:-8px}.dotset button.active{background:#c597fb;box-shadow:0 0 5px #bb86f766}.next{height:32px;width:65px;text-align:right;background:linear-gradient(90deg,transparent,#22192c);border-radius:20px;color:#c99afa}.below{padding:0 22px 14px}.below .sectionline{padding:0;margin:7px 0 12px}.sectionlink{font-size:12px;color:#cda3f6;display:flex;align-items:center;gap:4px;padding:0;min-height:32px}.sectionlink svg{width:15px}.list{background:linear-gradient(110deg,#201a2b,#1a1523);border:1px solid #40304e7a;border-radius:17px;padding:0 12px;margin-bottom:14px}.listrow{display:flex;align-items:center;gap:12px;width:100%;height:44px;border-bottom:1px solid #6451752b;text-align:left;padding:0 2px;font-size:13px}.listrow:last-child{border:0}.gameicon{display:grid;place-items:center;width:30px;color:#c897ff;filter:drop-shadow(0 0 4px #a76ae733);font-size:27px;font-weight:800}.listrow small{margin-left:auto;color:#baa6ca;font-size:11px}.listrow b{font-size:17px;color:#cda0ff}.listrow svg{width:16px;color:#c8a6e6;margin-left:4px}.friend{display:flex;align-items:center;gap:11px;background:linear-gradient(110deg,#21192d,#1c1627);border:1px solid #47325755;border-radius:16px;padding:11px 13px;margin-bottom:10px;width:100%;text-align:left}.friend .avatar{width:39px;height:39px;border:2px solid #ba88ec}.friend .text{flex:1}.friend .text div{font-size:13px}.friend .text span{color:#c3a5dd}.friend p{font-size:11px;color:#baa6cd;margin:4px 0 0}.friend b{font-size:20px;color:#c798ff}.friend>svg{width:15px;color:#c6a5e4}.fun{width:100%;height:63px;border-radius:16px;border:1px solid #70518e66;background:linear-gradient(120deg,#292237,#191221);position:relative;overflow:hidden;display:flex;align-items:center;padding:12px 15px;gap:13px;text-align:left}.fun>svg{width:30px;height:30px;color:#cca3ff}.fun strong{font-size:17px;position:relative;z-index:2}.fun p{font-size:11px;color:#c0a7d8;margin:4px 0 0;position:relative;z-index:2}.funorb{position:absolute;width:86px;height:86px;right:36px;top:6px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#efe1ff,#b886e7 26%,#593078 64%,#271836);transform:rotate(-25deg)}.funorb:before{content:'';position:absolute;width:137px;height:39px;border:1px solid #dfc7ff;border-radius:50%;left:-27px;top:28px}.funorb:after{content:'☺';position:absolute;background:#c2ffac;color:#293b23;width:26px;height:26px;border-radius:50%;right:-5px;top:29px;text-align:center;font-size:23px;line-height:23px;transform:rotate(25deg)}.fun>span{margin-left:auto;z-index:2;color:#ca9bef}.nav{flex:none;height:66px;display:flex;align-items:start;justify-content:space-around;padding:6px 10px 12px;border-top:1px solid #5a426e66;background:#0d0b13;position:relative}.nav button{width:65px;height:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:13px;color:#c3afda;font-size:12px}.nav button.active{background:#2b1e3b;color:#cca0ff}.nav:after{content:'';position:absolute;bottom:5px;left:calc(50% - 48px);height:4px;width:96px;border-radius:4px;background:#d8d0e0}.modal{position:absolute;inset:0;background:#05030bba;z-index:10;display:flex;align-items:end}.sheet{background:#22182f;padding:25px;border-radius:25px 25px 0 0;width:100%;box-shadow:0 -1px 0 #9565bd}.sheet h2{font-size:21px}.sheet p{font-size:13px;color:#ccb5dd;line-height:1.8;margin-bottom:23px}.sheet .close{float:right;font-size:22px;width:35px;height:35px}.hidden{display:none!important}.demo{font-size:10px;color:#95809f;text-align:center;margin:8px 0 0}.no-data .champion{opacity:.75}.no-data .mine em{font-size:10px}.scroll{position:relative}.gameHost{position:absolute;inset:0;display:flex;flex-direction:column;background:#0d0b13}.gameHostHead{display:flex;align-items:center;gap:12px;padding:12px 18px;flex:none}.gameHostHead>button{display:grid;place-items:center}.gameHostHead b{flex:1;font-size:17px;letter-spacing:.3px;text-align:left}.pillButton{border:1px solid #8f6cad;color:#d8b8f5;padding:7px 14px;border-radius:16px;font-size:13px;min-height:34px}.arcMount{flex:1;min-height:0;position:relative}.arcStatus{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#bba5cc;font-size:14px;text-align:center;padding:30px;background:#0d0b13;z-index:5}.arcStatus[hidden]{display:none}.arcStatus p{margin:0}.arcStatus .cta{width:170px;height:40px;font-size:14px;margin-top:4px}.spinner{width:24px;height:24px;border-radius:50%;border:2px solid rgba(201,154,250,.28);border-top-color:#c99afa;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.workspace{padding:9px;min-height:100dvh}.caption{display:none}.phone{width:min(390px,100%);height:calc(100dvh - 20px);max-height:none;min-height:500px;border-radius:29px}.masthead{padding-top:10px}}@media(max-width:370px){.masthead h1{font-size:25px}.sectionline,.below{padding-left:16px;padding-right:16px}.sectionline h2{font-size:17px}.segment button{padding:8px 12px}.rail{padding-left:16px;padding-right:16px}.rankcard{min-width:calc(100% - 23px);padding-left:13px;padding-right:13px}.cardtop h3{font-size:21px}.mine{gap:6px}.mine em{font-size:10px}.friend{gap:8px}.friend .text div{font-size:12px}}
.categoryline{margin-top:-4px;margin-bottom:12px}.categoryline .segment{width:100%}.categoryline .segment button{flex:1}.sectionline #all{white-space:nowrap}
/* Shared page system */
:root{--accent:#c99afa;--muted:#bba5cc;--line:#9b73b12b;--panel:#21172d}.controlLabel{display:block;margin:15px 0;color:#c1adce;font-size:12px}.controlLabel select{display:block;width:100%;margin-top:7px;padding:10px;border-radius:10px;background:#251d30;color:#eee2fa;border:1px solid #584466;font:inherit}.caption button{margin-top:6px;margin-right:6px}.pageLabel{font-size:12px!important}.page{padding:15px 22px 22px}.pageHead{display:flex;align-items:center;gap:12px;min-height:46px;margin-bottom:20px}.pageHead h1{font-size:24px;letter-spacing:.1px;margin:0}.pageHead p{font-size:12px;color:var(--muted);margin:5px 0 0}.pageHead .back{width:32px;height:44px;margin-left:-8px;color:var(--accent);flex:none}.pageHead .right{margin-left:auto}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 5px}.pillButton{padding:9px 12px;border-radius:20px;background:#291e36;color:#d2b3ed;font-size:12px;min-height:40px}.search{display:flex;align-items:center;gap:10px;border:1px solid #74578d55;background:linear-gradient(120deg,#251c31,#18131f);border-radius:15px;padding:0 13px;min-height:46px;margin:13px 0 18px}.search input{width:100%;min-width:0;background:none;border:0;color:#f5eaff;font:inherit;font-size:13px;padding:12px 0}.search input:focus{outline:none}.search:focus-within{outline:2px solid #c99afa}.search input::placeholder{color:#ab94bf}.tabs{display:flex;gap:5px;padding:4px;background:#1f172b;border-radius:16px;margin:12px 0 20px}.tabs button{flex:1;min-height:40px;border-radius:13px;font-size:13px;color:var(--muted)}.tabs .on{background:linear-gradient(120deg,#c699f5,#ad79e6);color:#1a092b;font-weight:750}.sectionTitle{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.sectionTitle h2{font-size:18px;margin:0}.sub{font-size:12px;color:var(--muted);line-height:1.8}.note{font-size:11px;color:#aa90bd;line-height:1.7;text-align:center;margin:13px 0}.panel{padding:18px;border:1px solid #71518766;border-radius:20px;background:radial-gradient(ellipse at 20% 0,#5c32703b,transparent 70%),linear-gradient(130deg,#24182f,#17121f);margin-bottom:14px}.panel h2{font-size:21px;margin:0 0 10px}.panel p{font-size:13px;color:var(--muted);line-height:1.8;margin:5px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.gameTile{min-width:0}.tileCover{width:100%;height:116px;position:relative;display:grid;place-items:center;border:1px solid #9265b46b;border-radius:19px;background:radial-gradient(ellipse at 35% 15%,#8951afaa,#291835 65%,#17111f);overflow:hidden}.tileCover:before{content:'';position:absolute;width:124px;height:44px;border:1px solid #d4a6fb6b;border-radius:50%;transform:rotate(-24deg)}.tileCover .glyph{font-size:55px;color:#d8b4ff;text-shadow:3px 4px 0 #724992,0 0 20px #b774e65a;position:relative}.tileCover small{position:absolute;right:8px;top:8px;font-size:9px;color:#d8beea}.gameTile h3{font-size:14px;margin:9px 0 5px}.gameTile p{font-size:11px;color:#b79dc9;margin:0 0 10px;line-height:1.6;min-height:18px}.tileActions{display:flex;gap:6px}.tileActions button{flex:1;min-height:36px;border-radius:11px;background:#342142;border:1px solid #74518788;font-size:12px;color:#e2c9f7}.tileActions button:first-child{color:#1e0e2a;background:#be8ef1;border-color:#be8ef1}.wide{width:100%}.secondary{width:100%;border:1px solid #79539588;border-radius:23px;min-height:44px;margin-top:12px;color:#d8b4f4;font-size:14px}.link{color:var(--accent);font-size:12px;min-height:40px}.detailCover{height:162px;margin:0 0 23px;border-radius:23px;background:radial-gradient(ellipse at 40% 20%,#74489a,#251331 65%,#14101a);border:1px solid #ab7bcc77;display:grid;place-items:center;position:relative;overflow:hidden}.detailCover .glyph{font-size:83px;color:#d5a4fd;text-shadow:7px 7px 0 #59366f}.detailCover:before{content:'';width:230px;height:61px;position:absolute;border:1px solid #c89fea;border-radius:50%;transform:rotate(-20deg)}.facts{display:flex;justify-content:space-between;gap:10px;margin:22px 0}.facts div{flex:1;color:var(--muted);font-size:11px}.facts b{display:block;color:#f5ebfb;font-size:14px;margin-top:7px}.profile{display:flex;align-items:center;gap:15px;margin:8px 0 22px}.profile .avatar{width:67px;height:67px;border:3px solid #b486dc;box-shadow:0 0 25px #ad73ec2b}.profile h2{margin:0;font-size:23px}.profile p{color:var(--muted);font-size:12px;margin:7px 0}.levelBar{height:6px;border-radius:9px;background:#463052;margin:19px 0 12px;overflow:hidden}.levelBar i{height:100%;width:63%;display:block;background:linear-gradient(90deg,#8554be,#dca9ff)}.menu{border-bottom:1px solid var(--line);width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:56px;padding:10px 0;font-size:14px}.menu>span:nth-child(2){flex:1}.menu svg{color:#c29adf}.menu small{font-size:11px;color:#b094c7}.roundIcon{width:34px;height:34px;border-radius:12px;background:#2c1d3a;color:#cfa3f3;display:grid;place-items:center;font-size:20px;flex:none}.empty{text-align:center;padding:48px 10px}.empty .symbol{font-size:51px;color:#c295f5}.empty h2{font-size:22px}.empty p{font-size:13px;color:var(--muted);line-height:1.8}.empty button{margin-top:20px}.skeleton{height:85px;border-radius:18px;background:linear-gradient(90deg,#241a2f,#392346,#241a2f);margin:17px 0;opacity:.7}.loadingLabel{text-align:center;color:#c7addb;font-size:13px}.scorePanel{text-align:center;padding:22px 0}.success{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(145deg,#ab5adb,#d333bd);box-shadow:0 0 0 8px #a13ea71f;color:#fff;display:grid;place-items:center;font-size:36px}.bigScore{font-size:72px;font-weight:800;line-height:1.15;letter-spacing:-3px;color:#e7bbff;margin:15px 0 8px}.metrics{display:flex;gap:10px;margin:23px 0}.metrics div{flex:1;padding:18px 5px;border:1px solid #78529566;border-radius:17px;background:linear-gradient(145deg,#322044,#1b1427);font-size:12px;color:var(--muted)}.metrics b{display:block;color:#d8aaff;font-size:27px;margin-top:7px}.infoStrip{padding:12px;border:1px solid #82669b66;border-radius:14px;background:#2b1b37;color:#d2b4e8;font-size:12px;line-height:1.8;margin-bottom:18px}.boardRow{display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid var(--line);font-size:13px}.boardRow .pos{width:20px;color:#c99cf3}.boardRow .name{flex:1}.boardRow strong{color:#d5b2f0}.boardRow.self{background:#372045;border-radius:13px;padding:0 9px;margin:7px -9px;border:1px solid #8557a755}.podium{display:flex;align-items:end;justify-content:center;gap:27px;padding:28px 0}.podium>div{text-align:center;color:#b89dcb;font-size:11px}.podium .avatar{display:flex;margin:8px auto;width:42px;height:42px;border:2px solid #b987e1}.podium .winner .avatar{width:60px;height:60px;box-shadow:0 0 20px #af61de66}.podium b{display:block;color:#f7ecff;font-size:13px}.podium strong{display:block;color:#d2a3fa;font-size:18px;margin-top:7px}.socialRow{display:flex;gap:12px;align-items:center;min-height:77px;border-bottom:1px solid var(--line);width:100%;text-align:left;padding:12px 0}.socialRow .avatar{width:43px;height:43px}.socialRow .text{flex:1;min-width:0}.socialRow b{font-size:14px}.socialRow p{color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 0}.socialRow small{color:#ac90c0;font-size:10px}.unread{background:#c99afa;color:#291338;width:18px;height:18px;display:block;text-align:center;border-radius:6px;margin-top:9px;font-size:11px;line-height:18px}.conversation{min-height:270px}.bubble{padding:13px 15px;background:#2c1e38;border:1px solid #62427755;border-radius:17px 17px 17px 3px;font-size:13px;line-height:1.8;max-width:87%;margin:15px 0;overflow-wrap:anywhere}.bubble.own{margin-left:auto;background:#67428a;border-radius:17px 17px 3px 17px}.chatCard{max-width:90%;padding:20px;background:radial-gradient(ellipse at top left,#75439066,#291837);border:1px solid #af7ed580;border-radius:19px}.chatCard h2{font-size:21px;margin:10px 0}.chatCard b{font-size:36px;color:#d8a8ff}.composer{display:flex;align-items:center;gap:8px;position:sticky;bottom:-22px;background:#100c16;padding:14px 0;margin-top:20px}.composer input{min-width:0;flex:1;background:#281b34;color:#f2e1ff;border:1px solid #72558b;border-radius:20px;padding:12px;font-size:13px}.composer button{width:44px;height:44px;border-radius:50%;background:#b985ef;color:#281237;flex:none}.form label{display:block;font-size:12px;color:#cbb4dd;margin:17px 0}.form input,.form select{display:block;width:100%;padding:13px;border-radius:13px;border:1px solid #6f527f;background:#22162e;color:#f6e9ff;margin-top:8px;font:inherit;font-size:14px}.form textarea{width:100%;min-height:100px;margin-top:8px;background:#22162e;border:1px solid #6f527f;border-radius:13px;color:#fff;padding:12px;font:inherit}.choice{display:flex;align-items:center;gap:10px;width:100%;padding:16px;margin:12px 0;border-radius:17px;border:1px solid #79519566;background:#23182f;text-align:left;font-size:14px;min-height:54px}.choice.selected{border-color:#d1a4fb;background:#4e2f66}.choice span{margin-left:auto;color:#c4a4df}.switch{width:41px;height:24px;border-radius:15px;background:#483351;position:relative;flex:none}.switch.on{background:#b37ceb}.switch:after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#f5e8ff}.switch.on:after{left:20px}.toast{position:absolute;bottom:78px;left:16px;right:16px;background:#ead7fb;color:#351645;padding:14px 16px;border-radius:15px;font-size:12px;line-height:1.7;z-index:20;box-shadow:0 4px 24px #0006}.sheet select{width:100%;padding:12px;background:#352143;color:#fff;border:1px solid #a274c1;border-radius:12px;margin:12px 0}.sheet .cta{margin-top:13px}.playfield{height:265px;border:1px solid #724b9166;border-radius:22px;background:radial-gradient(ellipse,#38204e,#120c1c);position:relative;overflow:hidden;display:grid;place-items:center;margin:20px 0}.hit{position:absolute;left:calc(50% - 34px);top:calc(50% - 34px);width:68px;height:68px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f1dcff,#b073e5 50%,#653a83);box-shadow:0 0 0 9px #bb7ce51b,0 0 25px #d188ff38;color:#fff;font-size:31px}.gameTop{display:flex;justify-content:space-between;align-items:center}.gameTop b{font-size:27px;color:#d8aaff}.gameTop small{display:block;color:#ac90bf;font-size:11px}.miniGrid{display:grid;grid-template-columns:repeat(3,58px);gap:12px}.miniGrid button{height:58px;background:#5c3776;border:1px solid #a97ccd;border-radius:12px;font-size:20px}.miniGrid button.lit{background:#d4aff8;color:#341845}.mathQ{font-size:32px;color:#ead6ff;text-align:center;margin:15px}.answers{display:flex;gap:10px}.answers button{min-width:60px;min-height:50px;border-radius:13px;background:#b684e1;color:#250c3a;font-weight:700}.paused{position:absolute;inset:0;background:#120b1bee;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3}.sportMap{height:190px;border-radius:20px;background:repeating-linear-gradient(25deg,transparent,transparent 25px,#79579526 26px,#79579526 27px),#23172f;position:relative;overflow:hidden;margin:20px 0}.sportMap svg{width:100%;height:100%;stroke:#cba0ff;stroke-width:4}.sportMap span{position:absolute;left:12px;bottom:10px;font-size:11px;color:#c5a9db}.celebrate{font-size:60px;color:#d4a2ff;text-align:center;margin:25px 0}.statePreview{font-size:10px;padding:7px;text-align:center;color:#967baa}.historyChip{display:inline-block;border:1px solid #72518b;padding:7px 11px;border-radius:20px;font-size:11px;color:#c5a5db}.nav button[aria-current=page]{background:#2b1e3b;color:#cca0ff}.resultTools{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.resultTools button{font-size:11px;padding:7px 9px;border:1px solid #694683;border-radius:10px;color:#c7a5df}.screenFade{animation:appear .15s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:370px){.page{padding-left:16px;padding-right:16px}.pageHead h1{font-size:22px}.tileCover{height:104px}.grid{gap:15px 10px}.miniGrid{grid-template-columns:repeat(3,53px)}.miniGrid button{height:53px}.podium{gap:19px}.cardtop h3{font-size:20px}.mine em{padding-left:5px}}
/* 1008: fortune, contextual sharing, local media and answer statistics */
.fortune-entry{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:16px;margin-top:12px;border:1px solid #ae884966;border-radius:17px;background:radial-gradient(ellipse at right,#9263362b,transparent),linear-gradient(110deg,#2c2236,#19121f)}.fortune-entry .fortune-symbol{font-size:32px;color:#ecc578}.fortune-entry strong{display:block;font-size:17px;color:#f5e4c9}.fortune-entry small{display:block;margin-top:6px;font-size:11px;color:#cfb69b}.fortune-entry b{margin-left:auto;color:#dfb773}.tabs button{padding-left:5px;padding-right:5px;white-space:nowrap}.fortune-stage{height:208px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse,#9a703e2c,transparent 65%);margin:10px 0 22px}.fortune-stage>span{font-size:102px;color:#ebc88b;text-shadow:0 0 35px #d0a86460}.fortune-stage small{font-size:10px;letter-spacing:3px;color:#c0a888}.fortune-orbit{position:absolute;width:205px;height:70px;border:1px solid #cfa56877;border-radius:50%;transform:rotate(-26deg);top:89px;box-shadow:0 0 30px #a76a4c22}.fortune-title{font-size:24px;line-height:1.5;text-align:center}.center{text-align:center}.fortune-rules{padding:16px;margin:23px 0;border-radius:16px;background:#2b2031;border:1px solid #9c79483d;font-size:12px;color:#c5af99;line-height:1.8}.fortune-paper{border:1px solid #b995595f;background:radial-gradient(ellipse at 80% 0,#ad7a4940,transparent 60%),#2b2034;border-radius:24px;margin:25px 0;padding:25px 23px;text-align:center}.fortune-paper>span{font-size:52px;color:#efcc90;display:block}.fortune-paper>small{font-size:12px;color:#d6b889;letter-spacing:4px}.fortune-paper h2{font-size:27px;line-height:1.5;color:#f6e4c7;margin:24px 0 15px}.fortune-paper p{font-size:13px;line-height:1.8;color:#ceb9a7}.fortune-paper>div{border-top:1px solid #b18b5544;text-align:left;font-size:12px;line-height:1.7;padding:13px 0;color:#d1baa0}.fortune-paper b{color:#efce98;margin-right:9px}.vote-panel{margin:22px 0;border:1px solid #9b6cc052;border-radius:20px;padding:17px;background:linear-gradient(135deg,#2a1b37,#17101f)}.vote-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.vote-top h2{font-size:17px;margin:0}.vote-top span{color:#bfa3d3;font-size:10px}.same-choice{font-size:13px;line-height:1.7;color:#ead5fa;margin:17px 0 4px}.same-choice b{font-size:27px;color:#d2a1ff}.vote-note{font-size:10px!important;line-height:1.7;color:#ac94bd;margin:8px 0 0}.vote-option{margin:17px 0}.vote-option>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;line-height:1.8;color:#c4abd6}.vote-option b{font-size:10px;white-space:nowrap;font-weight:500}.vote-option em{font-style:normal;font-size:9px;border:1px solid #c28cef88;padding:2px 4px;border-radius:5px;display:inline-block;margin-left:5px;color:#e2bdff}.vote-track{height:8px;margin-top:8px;background:#3a2847;border-radius:9px;overflow:hidden}.vote-track i{height:100%;display:block;background:#806294;border-radius:9px}.vote-option.chosen .vote-track i{background:linear-gradient(90deg,#a36ee8,#e1b7ff)}.vote-option.chosen>div:first-child{color:#efdbff}.share-subject{display:flex;gap:16px;align-items:center;padding:20px 0 29px}.share-subject>span{font-size:51px;color:#d4a4ff}.share-subject h2{font-size:22px;margin:0}.share-subject p{color:#bfa4d0;font-size:12px;line-height:1.8;margin:8px 0}.share-way{width:100%;display:flex;align-items:center;gap:13px;background:linear-gradient(120deg,#332041,#1e1428);border:1px solid #79508f66;border-radius:19px;text-align:left;margin:15px 0;padding:21px 14px}.share-way>i{background:#523363;color:#d4b3eb;border-radius:13px;width:43px;height:43px;display:grid;place-items:center;flex:none}.share-way>span{flex:1}.share-way b{font-size:15px;display:block}.share-way small{display:block;font-size:11px;line-height:1.7;margin-top:7px;color:#bfa5d1}.share-way>svg{width:16px;color:#c79de4}.recipient-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:15px 0;border-bottom:1px solid #70538544}.recipient-row .avatar{width:42px;height:42px}.recipient-row>span:nth-child(2){flex:1;font-size:14px}.recipient-row small{display:block;font-size:11px;color:#b99bcf;margin-top:5px}.select-circle{width:23px;height:23px;border:1px solid #8e6ba6;border-radius:50%;display:grid;place-items:center;color:#2d143d;font-size:14px}.select-circle.selected{background:#c597f2;border-color:#c597f2}.selected-summary{padding:14px;border-radius:13px;background:#2a1a37;font-size:11px;line-height:1.8;color:#c7aad9;margin:19px 0;overflow-wrap:anywhere}.share-note-label{display:block;font-size:12px;color:#c6add5;margin:12px 0 22px}.share-note-label textarea,.copyable{display:block;width:100%;min-height:78px;margin-top:9px;padding:13px;background:#21132c;border:1px solid #775089;border-radius:12px;color:#f0dcff;font:inherit;resize:vertical}.confirm-names{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.confirm-names span{font-size:12px;padding:8px 11px;border-radius:12px;background:#3b264b;color:#dcc2ed}.cta:disabled,.tabs button:disabled{opacity:.4;cursor:not-allowed}#shareCanvas{display:block;width:100%;height:auto;border-radius:21px;border:1px solid #8f6aa958;box-shadow:0 15px 35px #0003}.export-actions{display:flex;gap:7px}.export-actions button{flex:1;min-height:43px;font-size:12px;border-radius:12px;background:#b987e5;color:#25112f}.copy-link-text{font-size:10px;color:#ad8cc0;overflow-wrap:anywhere;line-height:1.7}.pick-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:20px}.pick-categories button{min-height:40px;border-radius:10px;background:#2b1b39;color:#c4a2db;font-size:11px;padding:5px}.pick-categories button.on{background:#b688df;color:#261332}.chat-mode #screen{overflow:hidden;display:flex;flex-direction:column}.chatPage{height:100%;display:flex;flex-direction:column;min-height:0;padding:14px 18px 0}.chatPage .pageHead{flex:none;margin:0 0 9px}.chatPage .pageHead h1{font-size:23px}.chat-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:none;padding-bottom:15px}.chat-scroll .note{margin:3px 0 17px}.chat-dock{flex:none;background:#100b17;border-top:1px solid #78528944;padding:7px 0 max(12px,env(safe-area-inset-bottom))}.chat-dock .composer{position:static;margin:0;padding:4px 0;gap:7px;background:none}.chat-dock .composer input{padding:11px 12px;font-size:13px}.chat-dock .composer button{width:39px;height:39px}.chat-dock .composer .plus-button{background:#30203e;border:1px solid #8a62a6;color:#d3b2eb;transition:transform .15s}.chat-dock .plus-button[aria-expanded=true]{transform:rotate(45deg)}.attachment-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:16px 0 4px}.attachment-tray button{min-height:77px;padding:0;font-size:10px;line-height:1.7;display:flex;flex-direction:column;align-items:center;color:#c7add9;gap:7px}.attachment-tray i{display:grid;place-items:center;font-style:normal;width:48px;height:47px;border-radius:14px;background:linear-gradient(145deg,#4b2b60,#281a35);border:1px solid #8253a171;color:#d8b3f3;font-size:26px}.attachment-tray span{white-space:nowrap}.media-preview{max-height:40vh;display:flex;align-items:center;justify-content:center;border-radius:15px;overflow:hidden;background:#100a16}.media-preview img,.media-preview video{display:block;max-width:100%;max-height:40vh;object-fit:contain}.sheet{max-height:88%;overflow-y:auto}.sheet p{overflow-wrap:anywhere}.media-message{margin:16px 0 16px auto;width:min(225px,90%);text-align:right}.media-thumb{position:relative;padding:0;display:block;border-radius:15px;overflow:hidden;background:#271633;width:100%;border:1px solid #8a64a455}.media-thumb img,.media-thumb video{display:block;width:100%;max-height:220px;object-fit:cover}.media-message>small{display:block;font-size:10px;color:#b398c4;margin-top:5px;overflow-wrap:anywhere}.media-status{font-size:10px;color:#bd9fd1;margin-top:5px}.media-status button{padding:5px 9px;border:1px solid #d999b6;border-radius:8px;color:#f4b3d0;font-size:11px}.video-play{position:absolute;left:calc(50% - 19px);top:calc(50% - 19px);width:38px;height:38px;border-radius:50%;background:#160d28bb;color:#fff;font-size:28px;font-style:normal;text-align:center}.outgoing-card{max-width:91%;margin:18px 0 18px auto}.sent-game{padding:18px;border-radius:18px;background:radial-gradient(ellipse at top left,#8755a955,#2b1a39);border:1px solid #ac77cd88}.sent-game>small{color:#c9a7df;font-size:10px;line-height:1.7}.sent-game h3{font-size:19px;margin:12px 0}.sent-game>b{font-size:22px;color:#d7a8ff;line-height:1.5}.sent-game p{font-size:12px;color:#cab0d9;line-height:1.8}.sent-game button{width:100%;min-height:40px;background:#b888e3;color:#2a113a;border-radius:13px;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:10px}.delivery{display:block;font-size:10px;color:#a78cba;text-align:right;margin-top:7px}@media(max-width:370px){.tabs button{font-size:11px}.chatPage{padding-left:13px;padding-right:13px}.share-way{padding:16px 12px;gap:9px}.share-way b{font-size:14px}.share-way small{font-size:10px}.vote-panel{padding:13px}.vote-top h2{font-size:16px}.vote-option>div:first-child{flex-wrap:wrap;gap:2px}.vote-option b{margin-left:auto}.attachment-tray i{width:43px}.fortune-title{font-size:22px}}
/* ===== 社交：会话宿主 / 消息 / 托盘 ===== */
.chatHost{position:absolute;inset:0;display:flex;flex-direction:column;background:#0d0b13;z-index:6}
.chatHead{flex:none;display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);min-height:52px}
.chatHead b{flex:1;min-width:0;font-size:15px;color:#f3e8fb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatHead button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--accent);flex:none}
.chev{font-size:27px;line-height:1}.infoDot{font-size:17px;color:#c7add9}.headSpacer{width:36px;flex:none}
.conversation{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;scrollbar-width:thin}
.msg{margin:11px 0;display:flex;flex-direction:column;max-width:82%}
.msg .bubble{padding:11px 14px;font-size:13px;line-height:1.7;background:#2c1e38;border:1px solid #62427755;border-radius:16px 16px 16px 4px;overflow-wrap:anywhere;margin:0}
.msg.own{margin-left:auto;align-items:flex-end}
.msg.own .bubble{background:linear-gradient(140deg,#7b4fa0,#6a3f8f);border-color:#9a6fc355;border-radius:16px 16px 4px 16px;color:#f7efff}
.msgName{font-size:10px;color:#b79dc9;margin:0 0 4px 4px}
.bubble.image,.bubble.game{padding:8px;background:transparent;border:none}
.msg.own .bubble.image,.msg.own .bubble.game{background:transparent}
.chatImg{display:block;width:min(220px,62vw);max-height:240px;object-fit:cover;border-radius:14px;border:1px solid #8a64a455}
.gameShare{display:block;padding:16px;border-radius:16px;background:radial-gradient(ellipse at top left,#8755a955,#2b1a39);border:1px solid #ac77cd88;min-width:160px}
.shareEyebrow{display:block;font-size:10px;letter-spacing:1px;color:#c7add9}
.shareScore{display:block;font-size:26px;color:#d7a8ff;margin:6px 0}
.shareHint{display:block;font-size:11px;color:#cab0d9}
.centerSub{text-align:center;margin-top:34px}
.attachTray{flex:none;padding:8px 16px;border-top:1px solid var(--line);background:#16111d}
.attachTray button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;color:#e3cdf6;font-size:13px}
.attachGlyph{display:grid;place-items:center;width:26px}
.composer{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#100c16}
.composer input{flex:1;min-width:0;background:#281b34;color:#f2e1ff;border:1px solid #72558b;border-radius:20px;padding:11px 14px;font-size:13px}
.composer input::placeholder{color:#ab94bf}
.composer button[type=submit]{width:42px;height:42px;border-radius:50%;background:linear-gradient(140deg,#c49afa,#a874e6);color:#241035;flex:none;font-weight:700}
.plusBtn{width:42px;height:42px;border-radius:50%;background:#30203e;border:1px solid #8a62a6;color:#d3b2eb;flex:none;font-size:22px;line-height:1}
.convText{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.convText span{font-size:14px}
.convText small{font-size:11px;color:#b094c7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.convTime{font-size:10px;color:#a78cba;flex:none;align-self:flex-start;margin-top:3px}
.reqActions{display:flex;gap:8px;margin-top:12px}
.reqActions button{flex:1;min-height:42px;border-radius:14px;font-size:13px}
.reqActions .cta,.reqActions .secondary{margin:0;width:100%}
.centerLoading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0}
.memberRow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.memberRow .flex{flex:1;font-size:14px}
.ownerTag{font-size:10px;color:#d8b3f3;border:1px solid #8a62a6;padding:2px 8px;border-radius:8px}
