:root{color-scheme:dark;--bg:#0b1020;--panel:#151c32;--panel2:#202b49;--text:#f6f7ff;--muted:#aab5d5;--accent:#7b6cff;--cyan:#58d8ed;--gold:#ffd878;--line:#303b5b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0%,#27255a 0,transparent 36%),radial-gradient(ellipse at 90% 35%,#123e54 0,transparent 34%),var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);min-height:100vh}.app-shell{max-width:760px;margin:auto;padding:20px 16px 16px}header{display:flex;align-items:center;gap:12px;margin:6px 0 24px}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(140deg,#8b7aff,#4d3cc7);display:grid;place-items:center;font-size:30px;box-shadow:0 8px 30px #6254ee45}.brand{font-size:16px;font-weight:900;letter-spacing:2px}.subbrand{font-size:10px;color:var(--muted);letter-spacing:3px;margin-top:3px}.online-pill{margin-left:auto;border:1px solid #3d4d70;background:#18223b;padding:7px 10px;border-radius:99px;color:#b8c4e7;font-size:10px;letter-spacing:1px}.online-pill i{display:inline-block;width:6px;height:6px;background:#55e6a5;border-radius:50%;margin-right:5px}.panel{background:linear-gradient(145deg,#18213aee,#11182cee);border:1px solid #334061;border-radius:25px;padding:23px;box-shadow:0 18px 60px #0003;animation:appear .35s ease}.hidden{display:none!important}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;color:var(--cyan)}h1{font-size:clamp(32px,7vw,48px);line-height:1.06;margin:12px 0}h1 span{color:var(--gold)}h2{font-size:25px;margin:7px 0 0}p{color:var(--muted);line-height:1.55;font-size:14px;margin:0 0 22px}label{display:block;font-size:12px;color:#c4cce2;margin:15px 0 7px}input,select{width:100%;background:#0d1428;border:1px solid #354263;border-radius:12px;padding:14px;color:white;font-size:14px;outline:none}input:focus,select:focus{border-color:var(--accent)}button{font:inherit;cursor:pointer;border:0;transition:transform .15s,filter .15s}button:active{transform:scale(.98)}.primary,.secondary{padding:14px 16px;border-radius:13px;font-weight:750}.primary{width:100%;margin-top:18px;background:linear-gradient(100deg,#7c6aff,#5d52dc);color:white;box-shadow:0 8px 24px #6457ef35}.secondary{background:#25314f;color:#e7ebff;border:1px solid #3a486b}.join-row{display:flex;gap:9px;margin-top:10px}.join-row input{min-width:0;text-transform:uppercase;letter-spacing:2px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.feature-grid div{background:#1b2642;border:1px solid #2b395c;border-radius:14px;padding:12px;text-align:center}.feature-grid b{display:block;font-size:19px;color:var(--gold)}.feature-grid span{font-size:11px;color:var(--muted)}.room-head{display:flex;align-items:center;justify-content:space-between}.icon-btn{width:43px;height:43px;border-radius:13px;background:#293555;color:white;font-size:24px}.room-code-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;padding:12px;background:#0d1428;border-radius:12px;color:var(--muted);font-size:12px}.room-code-line strong{color:var(--gold);letter-spacing:2px;font-size:15px}.room-code-line span{margin-left:auto}.players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.player-chip{border:1px solid #344261;background:#202b47;border-radius:12px;padding:12px;font-size:13px;overflow:hidden;text-overflow:ellipsis}.player-chip small{display:block;color:var(--muted);margin-top:4px}.game-area{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.game-meta{display:flex;justify-content:space-between;color:var(--gold);font-size:12px}.table-cards{min-height:150px;margin:18px 0;padding:15px;background:radial-gradient(ellipse,#145b52,#103e40 60%,#142d3b);border:1px solid #287d70;border-radius:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.table-empty{color:#a6d4ce;font-size:12px}.card{width:57px;height:82px;border-radius:9px;background:linear-gradient(145deg,#fff,#e9edf8);color:#20243a;display:flex;flex-direction:column;justify-content:space-between;padding:7px 6px;font-weight:850;box-shadow:0 5px 12px #0004;user-select:none}.card.red{color:#df3d54}.card .rank{font-size:19px;line-height:1}.card .suit{font-size:20px;align-self:flex-end}.card .mini{font-size:12px}.hand{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:13px 0}.hand .card{cursor:pointer;transition:transform .16s,outline .16s;width:52px;height:76px}.hand .card:hover{transform:translateY(-7px)}.hand .card.selected{outline:3px solid var(--gold);transform:translateY(-9px)}h3{font-size:14px;color:#dce3ff}.action-row{display:flex;gap:8px}.action-row button{flex:1;font-size:12px;padding:12px 7px}.text-btn{margin-top:17px;background:transparent;color:var(--muted);font-size:12px;padding:8px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#f5f7ff;color:#17203a;border-radius:12px;padding:12px 17px;font-size:13px;box-shadow:0 8px 30px #0006;max-width:90vw;z-index:5}footer{text-align:center;color:#7784a8;font-size:11px;padding:20px}footer span{color:var(--cyan);padding:0 6px}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:600px){.app-shell{padding-top:30px}.panel{padding:30px}.card{width:66px;height:94px}.hand .card{width:60px;height:86px}} 
