:root{--bg:#050505;--panel:#0b0b0d;--panel2:#121216;--gold:#d4af37;--gold2:#f4d86f;--text:#f8f1dc;--muted:#a79f8d;--line:#3b311b;--danger:#ff8f8f;--ok:#62d890}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif}body{background:radial-gradient(circle at 50% -10%,#2a210b 0,#08080a 38%,#050505 75%)}button,input,select{font:inherit}.app-shell{min-height:100vh;padding:calc(env(safe-area-inset-top) + 12px) 14px calc(env(safe-area-inset-bottom) + 92px);max-width:760px;margin:auto}.boot-screen{min-height:80vh;display:grid;place-content:center;text-align:center}.brand-mark{width:96px;height:96px;margin:auto;border:1px solid #8b6f25;border-radius:30px;display:grid;place-items:center;font-size:48px;background:linear-gradient(145deg,#2a210d,#09090a);box-shadow:0 0 40px #d4af3724}.brand-mark.small{width:68px;height:68px;border-radius:22px;font-size:34px}.boot-screen h1{color:var(--gold2);margin:18px 0 6px}.boot-screen p,.muted{color:var(--muted)}.auth-card{max-width:520px;margin:28px auto;text-align:right}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.field-label{display:block;margin-top:12px}.check-row{display:flex;gap:8px;align-items:center;margin-top:14px}.topbar{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center;margin-bottom:18px;direction:ltr}.wallet-chip,.icon-button,.avatar-button{background:#080808;border:1px solid #8d6824;border-radius:18px;min-height:50px;color:#fff}.wallet-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:5px 9px;gap:6px}.wallet-chip strong{direction:ltr}.wallet-chip button{background:none;border:0;color:var(--gold);font-size:24px}.icon-button{width:50px;display:grid;place-items:center}.avatar-button{width:64px;height:64px;border-radius:999px;position:relative;overflow:hidden;display:grid;place-items:center;color:var(--gold2);font-size:26px}.level-badge{position:absolute;left:0;bottom:0;background:#080808;border:2px solid var(--gold);border-radius:999px;width:25px;height:25px;display:grid;place-items:center;color:#ffd700;font-size:11px}.page-title{font-size:34px;color:var(--gold2);margin:8px 0}.page-subtitle{color:var(--muted);margin:0 0 20px}.card{background:linear-gradient(180deg,var(--panel2),#0b0b0e);border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:14px;box-shadow:0 20px 50px #0008}.hero{border-color:#806420;background:linear-gradient(145deg,#1b1507,#101014)}.hero h2{font-size:30px;color:var(--gold2);margin:0 0 8px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.metric{background:#09090b;border:1px solid #332b1a;border-radius:18px;padding:16px;text-align:center}.metric b{display:block;color:var(--gold2);font-size:27px}.metric span{color:var(--muted);font-size:13px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-card{min-height:150px;text-align:right;background:linear-gradient(180deg,#141419,#0b0b0e);border:1px solid var(--line);border-radius:22px;padding:18px;color:var(--text)}.action-card h3{color:var(--gold2);font-size:23px;margin:0 0 8px}.action-card p{color:var(--muted);line-height:1.7;margin:0}.field{width:100%;padding:15px;border-radius:16px;border:1px solid #3a311e;background:#08080b;color:#fff;outline:none}.field:focus{border-color:var(--gold)}.primary{width:100%;padding:15px;border:0;border-radius:16px;background:linear-gradient(135deg,#b88b21,#f4d86f);color:#171205;font-weight:800;margin-top:12px}.primary:disabled{opacity:.45}.secondary{width:100%;padding:14px;border:1px solid var(--line);border-radius:16px;background:#131317;color:var(--text);font-weight:700;margin-top:12px}.mini-button{border:1px solid var(--line);background:#17130b;color:var(--gold2);border-radius:12px;padding:8px 10px}.message{color:var(--danger);min-height:22px}.list-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #302817;background:#09090b;border-radius:18px;margin-top:10px}.list-item .emblem{width:50px;height:50px;border-radius:16px;border:1px solid #8d6824;display:grid;place-items:center;color:var(--gold2);font-size:24px}.list-item small{color:var(--muted);word-break:break-word}.profile-hero{display:flex;gap:16px;align-items:center}.profile-hero h2{margin:0;color:var(--gold2)}.profile-hero p{color:var(--muted)}.score-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;text-align:center;border-color:#8d6824}.score-team{display:grid;gap:8px}.score-team span{color:var(--muted);font-weight:700}.score-team b{font-size:56px;color:var(--gold2);line-height:1}.versus{width:46px;height:46px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold);font-weight:900}.round-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.match-history{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid #302817;background:#09090b;border-radius:18px;margin-top:10px}.match-history>div:first-child{display:grid;gap:5px}.match-history b{display:flex;justify-content:space-between;gap:12px}.match-history b span{color:var(--gold2);font-size:20px}.match-history small{color:var(--muted)}.history-meta{text-align:left;display:grid;gap:6px}.history-meta strong{color:var(--ok)}.ranking-list{padding:10px}.ranking-row,.hall-row{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:15px 10px;border-bottom:1px solid #2d2618}.ranking-row:last-child,.hall-row:last-child{border-bottom:0}.ranking-row>strong,.hall-row>strong{font-size:20px;color:var(--gold2)}.ranking-row div,.hall-row div{display:grid;gap:4px}.ranking-row small,.hall-row small{color:var(--muted)}.ranking-row>span,.hall-row>span{font-weight:800;color:var(--gold)}.season-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;border-color:#806420}.season-card div{background:#09090b;border:1px solid #332b1a;border-radius:18px;padding:16px;display:grid;gap:6px}.season-card small{color:var(--muted)}.season-card b{color:var(--gold2)}.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-card{min-height:92px;border:1px solid #4b3c1a;border-radius:18px;background:radial-gradient(circle at top,#2a210c,#0b0b0e 70%);display:grid;place-content:center;text-align:center;padding:12px}.badge-card b{color:var(--gold2)}.badge-card small{color:var(--muted);margin-top:6px}.hall-hero{text-align:center;border-color:#8d6824;background:radial-gradient(circle at top,#2a210c,#0b0b0e 72%)}.hall-hero h2{color:var(--gold2);font-size:30px;margin:12px 0 4px}.hall-hero p{color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#08080bf2;border-top:1px solid #332a18;padding:8px 10px calc(env(safe-area-inset-bottom) + 8px);display:flex;justify-content:center;backdrop-filter:blur(18px)}.bottom-nav-inner{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(58px,110px);gap:4px;width:min(100%,760px);overflow-x:auto}.nav-button{border:0;background:transparent;color:#908a7c;border-radius:18px;padding:9px 4px;white-space:nowrap}.nav-button.active{background:#211a08;color:var(--gold2)}.nav-button span{display:block;font-size:22px}.hidden{display:none!important}@media(max-width:520px){.section-grid{grid-template-columns:1fr 1fr}.topbar{grid-template-columns:1fr 1fr 58px 48px}.wallet-chip{font-size:12px}.hero h2{font-size:26px}.page-title{font-size:30px}.score-team b{font-size:46px}.round-grid{grid-template-columns:1fr 1fr}.match-history{grid-template-columns:1fr}.history-meta{text-align:right;grid-auto-flow:column;justify-content:space-between}.ranking-row,.hall-row{grid-template-columns:44px 1fr auto;font-size:13px}.badge-grid{grid-template-columns:1fr 1fr}.season-card{grid-template-columns:1fr 1fr}}