@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@700;800&display=swap";:root{--azul:#1a365d;--oro:#f5b041;--fondo:#f8fafc;--texto:#1e293b;--exito:#10b981;--error:#ef4444;--bg:var(--fondo);--panel:#fff;--ink:var(--texto);--muted:#64748b;--line:#e2e8f0;--soft:#f1f5f9;--brand:var(--azul);--cta:var(--oro);--cta-ink:var(--azul);--accent:var(--exito);--danger:var(--error);--chip:#eef4ff;--shadow:0 8px 24px #1a365d14;--side:#1a365d;--side-ink:#e8eef7;--side-mut:#e8eef799;--side-act:#ffffff1f;--bronze:#cd7f32;--silver:#94a3b8;--gold:#f5b041;--diamond:#38bdf8;--platinum:#a78bfa}.dark{--bg:#0b1220;--panel:#131c2e;--ink:#e2e8f0;--muted:#94a3b8;--line:#1e2d45;--soft:#1a2540;--brand:#2d5a9e;--cta:#f5b041;--cta-ink:#1a365d;--accent:#34d399;--danger:#f87171;--chip:#1a2c4a;--shadow:0 8px 24px #00000080;--side:#0c1626;--side-ink:#e2e8f0;--side-mut:#e2e8f08c;--side-act:#ffffff14}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;transition:background .25s}h1,h2,h3,.h,.logo,.price,.brandfont{font-family:Montserrat,sans-serif}.auth-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);width:100%;max-width:460px;box-shadow:var(--shadow);border-radius:20px;padding:32px}.auth-brand{color:var(--brand);margin-bottom:24px;font-family:Montserrat,sans-serif;font-size:24px;font-weight:800}.auth-card h1{font-size:22px}.auth-description{color:var(--muted);margin:10px 0 20px}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form label{font-weight:700}.auth-form input{width:100%;color:var(--ink);background:var(--soft);border:1px solid var(--line);font:inherit;border-radius:10px;padding:12px}.auth-form input:focus{outline:2px solid var(--brand);outline-offset:2px}.auth-button{background:var(--cta);width:100%;color:var(--cta-ink);font:inherit;cursor:pointer;border:0;border-radius:10px;margin-top:12px;padding:12px;font-weight:800}.auth-button:disabled{opacity:.6;cursor:wait}.auth-button.secondary{background:var(--soft);color:var(--ink)}.auth-error{color:var(--danger);margin-bottom:16px}.auth-success{color:var(--accent);margin-bottom:16px}.auth-back{color:var(--brand);margin-top:24px;font-weight:700;display:block}@media (width<=720px){.student-layout{flex-direction:column}.student-layout>aside{width:100%!important;height:auto!important;position:static!important}.student-layout>aside>nav{flex-wrap:wrap;gap:4px;display:flex}.student-layout>aside>nav>div{width:100%}.student-layout>div>header{flex-wrap:wrap;gap:12px;min-height:64px;height:auto!important;padding:12px 16px!important}.student-layout>div>main{padding:20px 16px!important}}.home-dashboard{max-width:1200px;margin:auto}.home-dashboard h1,.home-dashboard h2,.home-dashboard h3{font-family:Montserrat,sans-serif}.home-dashboard h1{font-size:26px}.home-dashboard h2{font-size:17px}.home-dashboard h3{margin-bottom:12px;font-size:16px}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.home-header p,.home-hint{color:var(--muted);font-size:13px;line-height:1.6}.home-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;display:grid}.home-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:20px}.home-value{color:var(--brand);margin:10px 0;font:800 30px Montserrat,sans-serif}.home-section{margin:24px 0}.home-section>.home-hint{margin:8px 0 16px}.home-medals{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.home-medal{background:var(--soft);border:1px solid var(--line);border-radius:12px;flex:120px;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.home-medal .medal-icon{flex-shrink:0;width:34px;height:40px}.home-medal strong{font-size:17px}.home-dashboard button{border:1px solid var(--line);background:var(--cta);color:var(--cta-ink);cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:700}.home-dashboard button:disabled{opacity:.55;cursor:default}.home-dashboard button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.home-dashboard progress{width:100%;height:12px;accent-color:var(--brand);margin-top:12px}.home-banner{background:var(--brand);color:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.home-banner p{max-width:65ch;margin-top:8px}.home-recent{padding:0;list-style:none}.home-recent li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;display:flex}.home-recent time{color:var(--muted);font-size:13px}.practice-share-actions{flex-wrap:wrap;gap:10px;width:100%;margin-bottom:6px;display:flex}.practice-share-button{border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));background:var(--soft);min-width:min(100%,230px);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;flex:1;align-items:center;gap:10px;padding:12px 14px;font:600 13px Inter,sans-serif;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.practice-share-icon{background:color-mix(in srgb,var(--brand) 12%,var(--panel));width:36px;height:36px;color:var(--brand);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.practice-share-button--community .practice-share-icon{background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}.practice-share-arrow{color:var(--muted);flex-shrink:0;margin-left:auto}.practice-share-button:hover{background:var(--panel);border-color:var(--brand);box-shadow:var(--shadow)}.practice-share-button:focus-visible{outline:3px solid var(--cta);outline-offset:3px}.medals-page{max-width:960px;color:var(--ink);margin:auto}.medals-page p{color:var(--muted)}.medals-page section,.medals-page article{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-top:18px;padding:18px}.medals-page button{border:1px solid var(--line);background:var(--cta);color:var(--cta-ink);cursor:pointer;border-radius:8px;margin:4px;padding:9px 14px}.medals-page button:disabled{opacity:.5;cursor:not-allowed}.medals-balances{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin:20px 0;display:grid}.medals-balances>div{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:16px;display:flex}.medals-balances strong{font-size:24px}.medals-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.medals-page li{margin:10px 0}.medals-page article,.medals-page li{overflow-wrap:anywhere}.medals-balances>div.medal-card{border-top:3px solid var(--medal-tone);background:linear-gradient(180deg,color-mix(in srgb,var(--medal-tone) 14%,var(--panel)),var(--panel));box-shadow:var(--shadow);align-items:center;padding:22px 12px 18px;position:relative}.medal-card--bronze{--medal-tone:var(--bronze)}.medal-card--silver{--medal-tone:var(--silver)}.medal-card--gold{--medal-tone:var(--gold)}.medal-card--diamond{--medal-tone:var(--diamond)}.medal-card--platinum{--medal-tone:var(--platinum)}.medal-card .medal-icon{filter:drop-shadow(0 5px 6px color-mix(in srgb,var(--medal-tone) 30%,transparent));margin-bottom:12px}.medal-name{font-size:13px;font-weight:700}.medal-card strong{margin-top:6px;font-size:30px}.medal-caption{color:var(--muted);font-size:12px}.medals-conversion{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.medals-conversion .medal-icon{width:28px;height:32px}.medals-row{border-bottom:1px solid var(--line);padding:12px 0}.medals-row:last-child{border-bottom:0}.social-page{max-width:960px;color:var(--ink);margin:auto}.social-page p,.social-page time{color:var(--muted)}.social-page button{border:1px solid var(--line);background:var(--cta);color:var(--cta-ink);cursor:pointer;border-radius:8px;padding:9px 14px}.social-page button:disabled{opacity:.5;cursor:not-allowed}.social-page input:not([type=checkbox]),.social-page select,.social-page textarea{border:1px solid var(--line);background:var(--soft);width:100%;max-width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:10px}.social-page label{margin:10px 0 6px;font-weight:600;display:block}.social-page .social-check{align-items:center;gap:8px;display:flex}.social-page section,.social-page article,.social-page form{border:1px solid var(--line);background:var(--panel);overflow-wrap:anywhere;border-radius:12px;margin:16px 0;padding:18px}.social-page .social-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.social-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.social-text{white-space:pre-wrap;overflow-wrap:anywhere}.social-page time{font-size:12px}.social-page table{border-collapse:collapse;width:100%}.social-page th,.social-page td{text-align:left;border-bottom:1px solid var(--line);padding:8px}.social-page .social-table{overflow-x:auto}.settings-page{max-width:760px;margin:auto}.settings-page h1{font:800 26px Montserrat,sans-serif}.settings-page form{gap:20px;margin-top:20px;display:grid}.settings-page fieldset{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:0;padding:24px}.settings-page legend{padding:0 8px;font-weight:700}.settings-page label{margin:16px 0;font-weight:600;display:block}.settings-page input:not([type=checkbox]),.settings-page select{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:8px;margin-top:8px;padding:12px;display:block}.settings-page input[readonly]{color:var(--muted)}.settings-page .settings-check{align-items:center;gap:10px;font-weight:400;display:flex}.settings-check input{width:18px;height:18px;accent-color:var(--brand)}.settings-hint{color:var(--muted);margin:10px 0;font-size:13px;line-height:1.6}.settings-page a{color:var(--brand);text-decoration:underline}.settings-actions{flex-wrap:wrap;gap:12px;display:flex}.settings-actions button{border:1px solid var(--line);background:var(--brand);color:#fff;cursor:pointer;border-radius:10px;padding:12px 20px;font-weight:700}.settings-actions button:disabled{opacity:.55;cursor:default}.settings-page :focus-visible{outline:3px solid var(--cta);outline-offset:3px}.settings-error,.settings-success{background:var(--panel);border:1px solid;border-radius:10px;padding:16px}.settings-error{color:var(--danger)}.settings-success{color:var(--accent)}
