/* PHASE-401-ANDROID-TOURNAMENT-PORTAL-STYLES-LOCK */
:root{--bg:#02040a;--panel:#07101af2;--cyan:#7ffcff;--purple:#b77cff;--gold:#ffd98a;--green:#8dffb4;--muted:#bfd4e7;--danger:#ff6289}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:#fff;font-family:system-ui,-apple-system,Arial}body{min-height:100dvh;background:radial-gradient(circle at 50% -10%,#4d1f64 0,#102b2a 28%,#050a12 60%,#02040a 100%);padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.portal{width:min(980px,100%);margin:0 auto}.portal-head{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #b77cff66;border-radius:22px;background:linear-gradient(135deg,#160b21ed,#07131aef);box-shadow:0 20px 70px #0009}.portal-head img{width:68px;height:68px;object-fit:contain}.portal-head h1{margin:0;font-size:clamp(24px,5vw,42px);letter-spacing:.06em}.portal-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.status{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--green);border-radius:999px;color:var(--green);font-size:11px;font-weight:950;letter-spacing:.08em}.status.in-progress{border-color:var(--gold);color:var(--gold)}.status.complete{border-color:var(--cyan);color:var(--cyan)}.mode-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.mode-card,.tournament-card,.hands-card,.results-card{border:1px solid #ffffff24;border-radius:19px;background:linear-gradient(180deg,rgba(7,16,28,.96),rgba(4,8,15,.97));box-shadow:0 14px 45px #0006}.mode-card{padding:12px}.mode-card strong{display:block;color:#fff}.mode-card span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.button{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:10px;padding:8px 12px;border:1px solid var(--cyan);border-radius:12px;background:#0d1725;color:#fff;text-decoration:none;font-weight:950;text-align:center}.button.primary{border:0;background:linear-gradient(135deg,var(--cyan),#9b4dff);color:#02040a}.button.gold{border-color:var(--gold);color:#fff7ce}.button.green{border-color:var(--green);color:var(--green)}.tournament-card{position:relative;overflow:hidden;padding:18px}.tournament-card::before{content:'REIKI';position:absolute;right:-25px;top:20px;font-size:74px;font-weight:950;letter-spacing:.12em;color:#d9a9ff0b;transform:rotate(9deg);pointer-events:none}.tournament-kicker{color:#d9a9ff;font-size:10px;font-weight:950;letter-spacing:.18em}.tournament-title{margin:4px 0 2px;font-size:clamp(28px,7vw,54px);line-height:1}.tournament-sub{margin:0;color:var(--gold);font-weight:900}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:14px 0}.stat{min-width:0;padding:9px;border:1px solid #ffffff1d;border-radius:12px;background:#ffffff09;text-align:center}.stat strong{display:block;color:#fff;font-size:15px}.stat span{display:block;margin-top:2px;color:var(--muted);font-size:8px;letter-spacing:.05em}.level-strip{display:flex;gap:5px;overflow:auto;padding-bottom:3px;scrollbar-width:none}.level-strip::-webkit-scrollbar{display:none}.level{flex:0 0 auto;min-width:104px;padding:7px;border:1px solid #b77cff33;border-radius:10px;background:#140b1d99;font-size:8px}.level strong{display:block;color:var(--purple);font-size:9px}.tournament-actions{display:grid;grid-template-columns:2fr 1fr;gap:8px}.note{margin:10px 0 0;color:#a9bfd0;font-size:9px;line-height:1.35}.hands-card{margin-top:12px;padding:15px}.hands-card h2,.results-card h2{margin:0 0 8px}.hand-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.hand{padding:7px;border:1px solid #ffffff1c;border-radius:10px;background:#06101b}.hand strong{display:block;color:var(--gold);font-size:9px}.hand span{display:block;color:var(--muted);font-size:7px;line-height:1.25;margin-top:2px}.results-card{margin-top:12px;padding:15px}.results-table{width:100%;border-collapse:collapse;font-size:11px}.results-table th,.results-table td{padding:8px;border-bottom:1px solid #ffffff16;text-align:left}.results-table th{color:var(--gold);font-size:9px;letter-spacing:.06em}.empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed #ffffff2b;border-radius:12px}.footer-note{margin:14px 0 2px;text-align:center;color:#7890a3;font-size:8px}
@media(max-width:680px){.portal-head{grid-template-columns:54px 1fr}.portal-head img{width:52px;height:52px}.portal-head .status{grid-column:1/-1}.mode-row{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.stats .stat:last-child{grid-column:1/-1}.tournament-actions{grid-template-columns:1fr}.hand-grid{grid-template-columns:repeat(2,1fr)}}
@media(orientation:landscape) and (max-height:620px){body{padding:6px 10px;overflow:auto}.portal{max-width:1100px}.portal-head{grid-template-columns:48px 1fr auto;padding:6px 10px;border-radius:14px}.portal-head img{width:44px;height:44px}.portal-head h1{font-size:22px}.portal-head p{font-size:8px}.status{min-height:28px;font-size:8px}.mode-row{grid-template-columns:repeat(3,1fr);margin:6px 0;gap:5px}.mode-card{padding:7px}.mode-card span{font-size:7px}.button{min-height:34px;margin-top:6px;font-size:9px}.tournament-card{padding:10px}.tournament-title{font-size:30px}.stats{grid-template-columns:repeat(5,1fr);margin:7px 0;gap:4px}.stat{padding:5px}.stat strong{font-size:11px}.level-strip{display:none}.tournament-actions{grid-template-columns:2fr 1fr}.hands-card{padding:9px;margin-top:6px}.hand-grid{grid-template-columns:repeat(5,1fr)}.hand{padding:4px}.results-card{margin-top:6px;padding:9px}}
