:root{--bg:#08121b;--panel:#0e1d29;--panel2:#162a35;--line:#28404b;--ink:#f0f8f6;--sub:#a0b2ba;--green:#b7fa52;--green-dark:#2a4525;--orange:#ffc884;--red:#ff8e92;--shadow:0 18px 60px #0004}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 840px 400px at 85% 0%,#1f413448,transparent 70%),var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:3px}a{color:var(--green)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{border-bottom:1px solid #24404b99;background:#08121be8;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.header-inner{max-width:1230px;min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-symbol{font-size:34px;color:var(--green);line-height:1}.brand-word{font-size:22px;line-height:1;font-weight:950;letter-spacing:-1px}.brand-word>span{color:var(--green)}.brand-word small{display:block;font-size:8px;letter-spacing:1.65px;color:var(--sub);font-weight:800;margin-top:6px}.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}.main-nav button{background:none;border:1px solid transparent;color:var(--sub);font-size:13px;font-weight:750;padding:12px 13px;border-radius:11px;white-space:nowrap}.main-nav button:hover,.main-nav button.selected{color:var(--ink);background:#152a36;border-color:var(--line)}.header-right{display:flex;align-items:center;gap:9px;white-space:nowrap;flex-shrink:0}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #b7fa5219}.header-rating{font-weight:850;font-size:11px;letter-spacing:.7px;color:var(--green)}.main-container{max-width:1180px;width:100%;margin:0 auto;padding:32px 24px 65px;flex:1}.site-footer{border-top:1px solid var(--line);color:var(--sub);font-size:12px;padding:23px 24px;display:flex;justify-content:space-between;gap:18px;max-width:1230px;width:100%;margin:auto}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:var(--sub);text-decoration:none}.footer-links a:hover{color:var(--green)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:850;color:var(--green);text-transform:uppercase}.pill{display:inline-block;border:1px solid #618b52;color:var(--green);background:#1a2b27;border-radius:50px;font-size:10px;font-weight:900;padding:8px 12px;letter-spacing:.7px}.page-title{font-size:clamp(31px,4.4vw,55px);font-weight:950;letter-spacing:-2px;line-height:1.04;margin:12px 0 10px}.lede{font-size:15px;line-height:1.7;color:var(--sub);max-width:720px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}.hero-card,.panel{border:1px solid var(--line);background:#10212d;border-radius:23px;box-shadow:var(--shadow)}.hero-card{padding:48px 40px;min-height:550px;background:radial-gradient(circle at 78% 28%,#305f3a60,transparent 44%),linear-gradient(140deg,#142d35,#10212d 76%);display:flex;flex-direction:column;justify-content:space-between}.hero-card h1{font-size:clamp(43px,4.9vw,69px);line-height:.99;letter-spacing:-3px;margin:28px 0 20px;font-weight:950}.hero-card h1 em{font-style:normal;color:var(--green)}.hero-card p{font-size:17px;line-height:1.6;color:var(--sub);max-width:480px}.hero-card .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--green);color:#10240f;border:1px solid var(--green);border-radius:13px;padding:15px 22px;min-height:50px;font-size:13px;font-weight:900;letter-spacing:.35px;text-decoration:none;transition:filter .2s,transform .15s}.btn:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.btn-outline{background:var(--panel2);border-color:var(--line);color:var(--ink)}.btn-danger{background:#50282e;border-color:#7b3c45;color:#ffe9ea}.btn-wide{width:100%}.hero-stats{border-top:1px solid #ffffff22;padding-top:24px;margin-top:34px;display:flex;gap:45px}.hero-stats strong{font-size:28px;display:block;line-height:1}.hero-stats span{color:var(--sub);font-size:10px;font-weight:800;letter-spacing:1.3px;display:block;margin-top:8px}.aside-panel{padding:25px 22px;display:flex;flex-direction:column;gap:18px}.pitch{border:1px solid #97d99738;border-radius:18px;background:radial-gradient(circle at center,#35553760,#152a30 75%);padding:24px 22px;flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.pitch:before{content:'';position:absolute;inset:14px;border:1px solid #b7fa5233;border-radius:12px;pointer-events:none}.pitch:after{content:'';width:116px;height:116px;border-radius:50%;border:1px solid #b7fa5233;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.pitch-title{position:relative;z-index:1;color:var(--green);font-size:12px;font-weight:800;letter-spacing:1.7px;text-align:center;margin-bottom:16px}.pitch-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:310px;margin:auto;width:100%}.pitch-square{aspect-ratio:1;display:grid;place-items:center;background:#10252cdb;border:1px solid #aec8b442;border-radius:10px;font-size:43px;font-weight:850;color:var(--green)}.pitch-square.alt{color:var(--orange)}.pitch-legend{display:flex;justify-content:center;gap:16px;position:relative;z-index:1;margin-top:18px;font-size:11px;font-weight:700;color:var(--sub)}.aside-details h2{margin:0 0 9px;font-size:22px;letter-spacing:-.6px}.aside-details p{font-size:14px;color:var(--sub);line-height:1.65;margin:0}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.feature{padding:22px}.feature h3{margin:12px 0 6px;font-size:18px}.feature p{margin:0;color:var(--sub);font-size:13px;line-height:1.6}.kicker-icon{font-size:23px;color:var(--green)}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:25px;margin-top:25px}.section-head{margin-bottom:23px}.panel{padding:23px}.panel h2{margin:9px 0 12px;font-size:22px;letter-spacing:-.5px}.panel p{color:var(--sub);line-height:1.65;font-size:14px}.small-meta{font-size:12px;color:var(--sub)}.stack{display:flex;flex-direction:column;gap:17px}.stack-sm{display:flex;flex-direction:column;gap:10px}.center{text-align:center}.tagline{font-size:13px;color:var(--green);font-weight:850;margin:12px 0}.notice{border:1px solid #83643b;color:#ffe0ab;background:#4833246e;border-radius:13px;padding:13px 16px;margin-bottom:17px;font-size:14px;line-height:1.6}.notice button{background:none;border:0;color:inherit;float:right;font-weight:850}.board-shell{padding:22px}.board-title-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}.board-title-bar h2{margin:0;font-size:20px}.board-grid{padding:7px;border:1px solid var(--line);border-radius:15px;background:#0a1821;max-width:615px;margin:auto}.board-header,.board-row{display:grid;grid-template-columns:.83fr repeat(3,1fr);gap:0}.board-axis{min-width:0;display:flex;justify-content:center;align-items:center;text-align:center;font-weight:850;font-size:12px;padding:5px;line-height:1.25}.board-col{min-height:80px}.board-row-name{min-height:116px}.board-corner{font-size:11px;letter-spacing:1.5px;color:var(--sub)}.square{border:2px solid #0a1821;border-radius:10px;aspect-ratio:1;min-width:0;background:var(--panel2);color:#58727a;font-size:34px;font-weight:950;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.square:not(:disabled):hover{background:#224042;border-color:var(--green)}.square.x{background:var(--green-dark);color:var(--green)}.square.o{background:#24364d;color:var(--orange)}.square small{font-size:10px;font-weight:720;text-align:center;line-height:1.2;color:var(--ink);padding:0 3px;max-width:100%;word-break:break-word}.score-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}.score-card .score{font-size:27px;font-weight:950;margin:5px 0}.score-card span{font-size:11px;font-weight:850;color:var(--sub)}.score-card .versus{font-weight:950;color:var(--green);font-size:24px}.outcome{padding:20px;border:1px solid #6ca847;border-radius:15px;background:#1b3323}.outcome h2{font-size:28px;margin:0 0 8px}.outcome .delta{font-size:29px;color:var(--green);font-weight:900;margin:7px 0}.rank-row{display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center;padding:17px 18px;border:1px solid var(--line);background:var(--panel);border-radius:12px}.rank-row.me{border-color:var(--green)}.rank-row .ordinal{font-size:23px;font-weight:950;color:var(--sub)}.rank-row.top .ordinal{color:var(--green)}.rank-row strong{font-size:15px}.rank-row small{display:block;color:var(--sub);font-size:12px;margin-top:5px}.rank-row .points{font-size:20px;color:var(--green);font-weight:950}.form-label{font-size:12px;font-weight:780;color:var(--sub);display:block;margin:7px 0}.input{width:100%;background:#0b1a24;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 15px;font-size:15px}.field{margin:10px 0 18px}.form-note{color:var(--sub);font-size:13px;line-height:1.6}.link-button{background:none;border:0;color:var(--green);padding:8px 0;font-size:14px;font-weight:750;text-align:left}.muted{color:var(--sub)}.big-number{font-size:65px;color:var(--green);font-weight:950;letter-spacing:-2px;line-height:1}.micro-stats{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.micro-stats div{font-size:13px;color:var(--sub)}.support-links{display:flex;gap:12px;flex-wrap:wrap}.support-links a{font-size:13px;text-decoration:none}.modal-backdrop{position:fixed;inset:0;background:#02090dcc;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:16px}.player-modal-content{background:var(--panel);border:1px solid var(--line);padding:26px;max-width:530px;width:100%;max-height:90vh;border-radius:23px;box-shadow:0 20px 90px #0009;overflow-y:auto}.modal-grip{height:5px;width:45px;border-radius:20px;background:var(--line);margin:0 auto 23px}.player-modal-content h2{font-size:23px;margin:9px 0}.modal-clues{color:var(--green);font-size:14px;font-weight:850;margin-bottom:20px}.player-modal-content input{width:100%;color:var(--ink);padding:15px;border-radius:12px;border:1px solid var(--line);background:#0a1720;font-size:15px;margin-bottom:11px}.player-results{min-height:50px;max-height:250px;overflow:auto;margin-bottom:15px}.player-option{width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);text-align:left;padding:14px 5px;display:flex;justify-content:space-between;font-size:14px;font-weight:800}.player-option:hover{color:var(--green)}.player-option span{color:var(--green)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:580px;width:calc(100% - 36px);padding:17px 21px;border-radius:13px;background:#403027;border:1px solid #8c623d;color:#ffe1b1;box-shadow:var(--shadow);z-index:200;font-size:14px;line-height:1.5}.wait-visual{font-size:42px;text-align:center;color:var(--green);padding:22px;animation:pulse 1.6s infinite}.spinner{width:44px;height:44px;display:block;border:4px solid #28413b;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:15px auto}.faq-box{background:#0b1a23;border:1px solid var(--line);padding:15px;border-radius:12px;margin-top:15px}.tiny-label{font-size:10px;color:var(--green);letter-spacing:1.3px;font-weight:850}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.hr{height:1px;background:var(--line);margin:12px 0}.legal-page{max-width:780px;margin:auto}.legal-page h1{font-size:clamp(35px,6vw,55px)}.legal-page h2{font-size:20px;margin-top:30px}.legal-page p,.legal-page li{font-size:15px;line-height:1.75;color:var(--sub)}
@keyframes pulse{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.header-inner{gap:8px}.main-nav button{padding:10px}.hero-card h1{font-size:52px}.two-col{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:820px){.header-inner{flex-wrap:wrap;padding:12px 18px;gap:10px}.main-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:7px}.header-right{margin-left:auto}.main-container{padding:24px 16px 45px}.hero-grid,.two-col{grid-template-columns:1fr}.hero-card{min-height:420px}.hero-card h1{font-size:50px}.aside-panel{display:grid;grid-template-columns:1fr 1fr}.pitch{min-height:280px}.feature-strip{grid-template-columns:1fr}}
@media(max-width:520px){.brand-word{font-size:19px}.brand-symbol{font-size:28px}.header-right{font-size:10px}.main-nav{gap:0}.main-nav button{font-size:11px;padding:10px 6px}.hero-card{padding:30px 23px;min-height:0}.hero-card h1{font-size:43px;letter-spacing:-2px}.hero-card .hero-actions{flex-direction:column}.hero-stats{gap:12px;justify-content:space-between}.hero-stats strong{font-size:23px}.aside-panel{display:flex}.board-shell{padding:13px 8px}.board-axis{font-size:10px}.board-col{min-height:65px}.board-row-name{min-height:74px}.square{font-size:27px;border-width:1px}.square small{font-size:8px}.panel{padding:18px}.score-card .score{font-size:21px}.page-title{letter-spacing:-1.5px}.player-modal-content{padding:20px}.site-footer{flex-direction:column}.btn{width:100%}}
@media(min-width:821px){.modal-backdrop{align-items:center}}

/* Practice difficulty selector */
.difficulty-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.difficulty-option{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;min-width:0;padding:12px 13px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink)}
.difficulty-option strong{font-size:13px;font-weight:900}
.difficulty-option small{font-size:10px;color:var(--sub);line-height:1.35}
.difficulty-option.active{border-color:var(--green);background:#1c342a;box-shadow:inset 0 0 0 1px #b7fa5230}
.difficulty-description{font-size:12px;line-height:1.55;color:var(--sub);background:#0b1a23;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:17px}
.difficulty-description strong{color:var(--green)}
@media(max-width:520px){.difficulty-picker{gap:5px}.difficulty-option{padding:10px 8px}.difficulty-option strong{font-size:11px}.difficulty-option small{font-size:9px}}

/* Auth v3: registro, Google y perfil */
.auth-panel{max-width:630px}
.auth-intro{color:var(--sub);line-height:1.55;margin-top:0;margin-bottom:20px}
.auth-separator{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:11px;font-weight:800;margin:23px 0 13px}
.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}
.google-auth-button{display:flex;align-items:center;justify-content:center;gap:12px}
.google-g{font-size:21px;line-height:1;font-weight:900;color:#4285f4;background:#fff;border-radius:7px;width:30px;height:30px;display:grid;place-items:center}
.auth-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--sub);margin:14px 0 21px;cursor:pointer}
.auth-consent input{accent-color:var(--green);width:17px;height:17px;flex:none;margin:1px 0}
.auth-practice{display:block;margin:18px auto 0}
.field-help{display:block;font-size:11px;color:var(--sub);margin-top:6px}
