:root{color-scheme:dark;--bg:#0b1216;--gold:#dfbc70;--text:#f0efe6;--muted:#a5b2ac;--line:#d4b46c2c}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 20%,#14352a55,transparent 55%),var(--bg);color:var(--text);font:14px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}.skip{position:absolute;left:12px;top:-100px;z-index:5;background:#183d2d;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.portal-header{border-bottom:1px solid var(--line);background:#0b1216e8}.portal-nav{max-width:1248px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:28px}.portal-brand{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:2px;white-space:nowrap}.portal-brand img{clip-path:circle(44% at 50% 50%);flex:none}.portal-brand b{color:var(--gold);font-weight:600}.portal-brand small{display:block;font-size:8px;letter-spacing:3px;color:var(--muted);margin-top:3px}.portal-nav nav{display:flex;align-items:center;gap:28px;font-size:13px}.portal-nav nav>a:not(.button){color:var(--muted)}.portal-nav nav>a[aria-current],.portal-nav nav>a:hover{color:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:14px 24px;background:var(--gold);color:#172019;font-weight:bold;font-size:13px;border:1px solid var(--gold);white-space:nowrap}.button:hover{background:#f1d699}.button-small{padding:10px 17px;gap:20px}.button-outline{background:transparent;color:var(--gold)}.button-outline:hover{background:#d9b86a15}.text-link{color:var(--gold);font-size:13px}.text-link:hover{text-decoration:underline}.portal-main{max-width:1248px;padding:0 24px;margin:auto}.eyebrow{display:block;color:var(--gold);font-size:9px;letter-spacing:2.3px;font-weight:bold;line-height:1.7}.subtle{font-size:12px;color:var(--muted)}
.home-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:64px 0 56px}.hero-copy h1{font:400 clamp(48px,5.5vw,74px)/1.03 Georgia,serif;letter-spacing:-2px;margin:20px 0 24px}.hero-copy h1 em{font-weight:400;color:var(--gold)}.hero-copy>p{color:var(--muted);font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:25px;margin:30px 0 18px}.hero-copy .hero-note{font-size:10px;color:#7e9188;max-width:365px}.hero-art{position:relative;min-height:370px;display:flex;flex-direction:column;justify-content:center;gap:18px;overflow:hidden}.art-caption,.art-bottom{font-size:8px;letter-spacing:3px;color:#718c7e}.art-bottom{text-align:right}.illustrated-table{height:300px;margin:0 8px;border:14px solid #2a2920;border-radius:32px;background:radial-gradient(ellipse at 40% 20%,#28755055,transparent 65%),repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px),#154932;box-shadow:inset 0 0 0 5px #987948,inset 0 0 45px #0007,0 18px 30px #0006;position:relative;transform:rotate(-6deg)}.pocket{position:absolute;width:32px;height:32px;border-radius:50%;background:#070e0b;border:2px solid #a68b54;z-index:2}.p1{top:-12px;left:-12px}.p2{top:-12px;right:-12px}.p3{bottom:-12px;left:-12px}.p4{bottom:-12px;right:-12px}.p5{left:calc(50% - 16px);top:-16px}.p6{left:calc(50% - 16px);bottom:-16px}.table-ball{position:absolute;width:58px;height:58px;border-radius:50%;box-shadow:9px 14px 12px #0007;z-index:1}.table-ball b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f5f0dc;color:#161c18;font-size:23px;position:absolute;top:12px;left:12px;transform:rotate(18deg)}.black{background:radial-gradient(circle at 28% 20%,#6a7771,#0b100e 47%,#020603);top:35%;left:22%}.gold{background:radial-gradient(circle at 28% 20%,#fff6bd,#d0ac36 45%,#735b12);width:47px;height:47px;top:18%;left:37%}.gold b{width:26px;height:26px;font-size:19px;left:10px;top:9px}.white{width:38px;height:38px;background:radial-gradient(circle at 25% 22%,white,#dddacf 60%,#808b82);left:58%;top:60%}.table-cue{position:absolute;width:44%;height:7px;left:67%;top:79%;background:linear-gradient(90deg,#8fbbb2 0 2%,#ead5a0 2% 60%,#9e6128 60%);transform:rotate(22deg);box-shadow:2px 5px 6px #0005;z-index:1}.table-mark{position:absolute;right:13%;top:20%;font:italic 50px Georgia;color:#a4c7a118}
.modes-section{border-top:1px solid var(--line);padding:30px 0 36px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2,.ranking-invite h2{font:400 28px/1.3 Georgia,serif;margin:8px 0 0}.mode-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.mode-card{min-width:0;background:linear-gradient(145deg,#15231f,#101a18);border:1px solid #d4b46c20;padding:20px 14px;transition:border-color .15s}.mode-card:hover{border-color:var(--gold)}.mode-ball{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;border:1px solid #d5bc7140;color:var(--gold);background:#d5bc710b;font-weight:bold;font-size:14px}.mode-card h3{font-size:12px;line-height:1.4;margin:20px 0 10px}.mode-card>span:last-child{font-size:9px;color:#8c9f94;display:flex;align-items:center;justify-content:space-between;gap:4px}.mode-card i{font-style:normal;color:var(--gold)}.ranking-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;background:linear-gradient(100deg,#17372a,#10221e);border:1px solid var(--line);margin:8px 0 45px}.ranking-invite h2{font-size:25px}.ranking-invite p{font-size:12px;color:var(--muted);margin:10px 0 0}.portal-footer{max-width:1248px;margin:auto;padding:22px 24px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#879b90}.portal-footer a{color:var(--gold)}
.ranking-main{padding-top:44px}.ranking-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px}.ranking-heading h1{font:400 65px/1 Georgia,serif;letter-spacing:-2px;margin:10px 0 16px}.title-dot{color:var(--gold)}.ranking-heading p{color:var(--muted);margin:0;font-size:13px}.ranking-heading-note{border-left:1px solid var(--line);padding:10px 0 10px 26px;min-width:230px}.ranking-heading-note strong{display:block;font:24px Georgia,serif;margin:10px 0}.ranking-heading-note>span:last-child{font-size:11px;color:var(--muted)}.mode-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line)}.mode-tabs a{padding:8px 15px;background:#15211d;border:1px solid #ffffff0c;font-size:12px;color:#a8b8ad}.mode-tabs a[aria-current],.mode-tabs a:hover{background:#d7b66915;border-color:#d7b66980;color:var(--gold)}.ranking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;color:var(--muted);font-size:11px}.ranking-toolbar nav{display:flex;gap:16px}.ranking-toolbar a[aria-current]{color:var(--gold)}.ranking-table-wrap{overflow:auto;border:1px solid var(--line)}.ranking-table{width:100%;border-collapse:collapse;font-size:13px;min-width:610px;text-align:left}.ranking-table th{font-weight:400;text-transform:uppercase;letter-spacing:1.5px;font-size:9px;color:#a6b8ac;background:#15271f;padding:15px 22px}.ranking-table td{border-top:1px solid #ffffff08;padding:15px 22px;background:#0f1a16}.ranking-table th:nth-child(n+3),.ranking-table td:nth-child(n+3){text-align:right}.ranking-table td:first-child{width:90px;color:#9faf9f}.ranking-table tr.podium td{background:#15231a}.rank-position{display:inline-grid;place-items:center;width:25px;height:25px}.podium .rank-position{border:1px solid #d5ba6455;color:var(--gold)}.rank-player{display:flex;gap:12px;align-items:center;max-width:440px;overflow-wrap:anywhere}.rank-avatar{object-fit:cover;flex:none;width:38px;height:38px;border:1px solid #cfba6b40}.rank-player strong{font-size:13px;font-weight:400;color:#eee9d9}.rank-player:hover strong{color:var(--gold)}.rank-player small{font-size:9px;color:#889d8d;display:flex;align-items:center;gap:7px;margin-top:4px}.rank-flag{object-fit:contain}.ranking-table .rank-score{color:#79cf92;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.ranking-rules{padding:25px 0 40px;max-width:900px}.ranking-rules h2{font-size:13px;font-weight:400;color:#d8d6c5}.ranking-rules p{font-size:11px;color:#8e9e93;line-height:1.8}.empty-state{text-align:center;padding:48px 20px;background:linear-gradient(135deg,#14291f,#0e1a15);border:1px solid var(--line)}.empty-state h2{font:28px Georgia,serif;margin:22px 0 12px}.empty-state p{font-size:13px;color:var(--muted);margin-bottom:24px}.empty-eight{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1px solid #ccb66d60;background:#080e0a;color:#dedccc;font:bold 25px Arial}
@media(max-width:1000px){.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-hero{gap:24px;padding-top:44px}.hero-copy h1{font-size:56px}.hero-art{min-height:320px}.illustrated-table{height:250px}.hero-actions{gap:16px;flex-wrap:wrap}.section-heading{align-items:start}.section-heading>.subtle{display:none}}
@media(max-width:680px){.portal-nav{padding:12px 16px;gap:12px;flex-wrap:wrap}.portal-brand{font-size:12px;letter-spacing:1.5px}.portal-brand img{width:38px;height:38px}.portal-nav nav{gap:16px;font-size:11px}.button-small{padding:7px 11px;gap:8px}.portal-main{padding-left:18px;padding-right:18px}.home-hero{grid-template-columns:1fr;padding:34px 0 28px;gap:20px}.hero-copy h1{font-size:58px}.hero-copy>p{font-size:13px}.hero-art{min-height:230px}.illustrated-table{height:220px;margin:0 16px}.art-caption,.art-bottom{font-size:7px;letter-spacing:2px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mode-card{padding:16px}.mode-card h3{margin-top:14px}.section-heading h2{font-size:26px}.ranking-invite{padding:24px;align-items:start;flex-direction:column}.ranking-invite h2{font-size:25px}.portal-footer{padding:22px 18px;flex-direction:column;gap:8px}.ranking-main{padding-top:30px}.ranking-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:25px}.ranking-heading h1{font-size:56px}.ranking-heading-note{padding:0;border:0;min-width:0}.ranking-heading-note .eyebrow,.ranking-heading-note>span:last-child{display:none}.ranking-heading-note strong{font-size:19px;margin:0}.mode-tabs{gap:6px}.mode-tabs a{padding:7px 10px;font-size:11px}.ranking-table th,.ranking-table td{padding:13px 15px}.empty-state h2{font-size:25px}.hero-note{max-width:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
