@charset "UTF-8";
:root{color-scheme:dark;--bg:#0a1328;--surface:#101e35;--surface-raised:#172840;--ink:#f4f5f8;--muted:#abbacf;--line:#2c4058;--cyan:#67dced;--cyan-dark:#0c2937;--purple:#c1adfc;--gold:#efd17d;--success:#87e0b0;--error:#ffada9;--radius:18px;--small-radius:10px;--max:1180px;--space:clamp(1rem,3vw,2.5rem);--shadow:0 18px 50px #030a1828;--motion:160ms ease}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0 0 1rem}h1,h2,h3{line-height:1.15;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.35rem,2.5vw,2rem)}h3{font-size:1.15rem}p{color:var(--muted)}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;min-height:48px;border:1px solid transparent;border-radius:var(--small-radius);padding:.75rem 1.2rem;background:var(--cyan);color:#092031;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1.25;text-align:center;transition:background var(--motion),border-color var(--motion),transform var(--motion)}button:hover,.button:hover{background:#94e9f4;text-decoration:none}button:active,.button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.55;transform:none}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:var(--surface-raised);border-color:var(--muted)}.button-quiet{background:transparent;color:var(--muted);padding:.6rem .75rem}.button-quiet:hover{background:var(--surface);color:var(--ink)}.button-danger{background:transparent;color:var(--error);border-color:var(--error)}.button-danger:hover{background:#422333}.small{font-size:.875rem;min-height:44px;padding:.6rem .85rem}button[aria-busy=true]::before{content:"";width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:var(--gold);color:var(--bg);padding:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{max-width:var(--max);padding:1rem var(--space);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);font-size:1rem;letter-spacing:.07em;white-space:nowrap}.brand:hover{text-decoration:none}.brand strong{font-weight:850}.brand small{font-size:.6rem;display:block;color:var(--muted);letter-spacing:.13em;margin-top:2px}.brand img{flex-shrink:0}.nav-menu{position:relative}.nav-menu summary{list-style:none;display:flex;gap:.8rem;align-items:center;min-height:44px;padding:.5rem;color:var(--ink);cursor:pointer}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu nav{position:absolute;right:0;top:3.4rem;width:min(300px,85vw);z-index:50;border:1px solid var(--line);border-radius:var(--radius);padding:.75rem;background:var(--surface);box-shadow:var(--shadow)}.nav-menu nav>a{display:block;color:var(--muted);padding:.8rem;border-radius:8px}.nav-menu nav>a[aria-current]{color:var(--cyan);background:var(--cyan-dark)}.nav-menu nav form{margin:0}.site-main{max-width:var(--max);margin:0 auto;padding:1.8rem var(--space) 4rem;min-height:72vh}.site-footer{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;padding:1.5rem var(--space);border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;max-width:var(--max);margin:auto}.eyebrow{color:var(--cyan);font-size:.72rem;letter-spacing:.13em;font-weight:800;line-height:1.6}.page-heading{padding:1rem 0 1.5rem}.page-heading p:last-child{max-width:650px}.row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.between{justify-content:space-between}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0}.stack{display:grid;gap:1rem}.muted{color:var(--muted)}.gold{color:var(--gold)}.text-link{font-weight:650;display:inline-flex;align-items:center;min-height:44px}.hero{display:grid;gap:2.5rem;padding:1.4rem 0 2.7rem;align-items:center}.hero h1{font-size:clamp(3.4rem,8vw,6.7rem);font-weight:850;line-height:1;letter-spacing:-.065em;margin:1.5rem 0}.hero h1 em{font-style:normal;color:var(--cyan)}.hero-lead{font-size:1.1rem;line-height:1.65}.hero-note{font-size:.85rem}.tiny-orbit{display:inline-block;width:.55rem;height:.55rem;border:1px solid var(--gold);border-radius:50%;margin-right:.35rem}.hero-lab{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transform:rotate(1deg)}.lab-top,.lab-bottom{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.5rem;font-size:.7rem;letter-spacing:.12em;color:var(--muted)}.lab-top{border-bottom:1px solid var(--line)}.lab-bottom{border-top:1px solid var(--line);line-height:1.6}.lab-bottom strong{color:var(--ink)}.lab-spark{font-size:2.5rem;color:var(--gold)}.orbit-diagram{position:relative;color:var(--muted)}.orbit-diagram svg{display:block;width:100%}.lab-formula{position:absolute;left:26%;top:40%;font-size:1.6rem;line-height:1.1;color:var(--ink);letter-spacing:-.04em}.home-discover{padding:2rem 0}.section-heading{display:flex;justify-content:space-between;gap:1.5rem;align-items:end;margin-bottom:1.5rem}.section-heading h2{margin:0}.section-heading .text-link{flex-shrink:0}.game-grid{display:grid;grid-template-columns:1fr;gap:1.15rem}.game-card{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:border-color var(--motion)}.game-card:hover{border-color:var(--cyan);text-decoration:none}.game-card-art{height:140px;padding:1rem 1.3rem;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(0deg,transparent,#ffffff03);color:var(--cyan);border-bottom:1px solid var(--line);overflow:hidden}.game-card-art::before{content:"";position:absolute;width:220px;height:220px;border:1px solid currentColor;opacity:.1;border-radius:50%;right:-30px;top:-100px}.game-number{position:absolute;top:1rem;left:1.3rem;font-size:.72rem;opacity:.7}.math-art{font-size:2.8rem;font-weight:650;letter-spacing:-.07em;font-family:ui-monospace,monospace}.art-caption{position:absolute;bottom:.8rem;right:1.3rem;font-size:.7rem;color:var(--muted)}.game-figurinhas .game-card-art{color:var(--gold)}.game-parabola .math-art{font-size:6rem;line-height:1}.game-operador .game-card-art,.game-regra-tres .game-card-art{color:var(--purple)}.game-card-content{padding:1.25rem;display:flex;flex-direction:column;flex:1}.game-card h2{font-size:1.3rem;margin:.7rem 0}.game-card p{font-size:.9rem;line-height:1.5;margin:0 0 1.2rem}.game-card .eyebrow{font-size:.61rem;letter-spacing:.08em}.available{font-size:.65rem;color:var(--muted)}.card-bottom{font-size:.73rem;margin-top:auto;border-top:1px solid var(--line);padding-top:1rem}.card-bottom strong{color:var(--cyan);font-size:.9rem}.personal-best{color:var(--gold);font-size:.75rem;margin-top:.65rem}.corra-callout,.inline-callout{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;padding:2rem 0;margin:2rem 0 0;border-top:1px solid var(--line)}.corra-callout>div{flex:1;min-width:220px}.corra-callout p:last-child,.inline-callout p{margin:0}.corra-callout .eyebrow{color:var(--purple)}.ai-symbol{width:70px;height:70px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:3rem;color:var(--purple)}.form-page{max-width:600px;margin:1rem auto}.form-page.narrow{max-width:450px}.form-intro{margin-bottom:1.5rem}.form-intro h1{font-size:2.25rem}.form-surface,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,3vw,2rem)}.form-surface>.button,.form-surface>button{width:100%;margin-top:1rem}form{margin:0}form>button{margin-top:.5rem}label{display:block;font-weight:600;font-size:.9rem;margin:0 0 1rem}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea{display:block;width:100%;min-height:48px;margin-top:.4rem;border:1px solid var(--line);border-radius:9px;padding:.7rem .85rem;background:var(--bg);color:var(--ink);font-size:1rem}input::placeholder,textarea::placeholder{color:#8596af}textarea{min-height:95px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--cyan);width:20px;height:20px;vertical-align:middle;margin:0 .6rem 0 0;flex-shrink:0}label:has(input[type=checkbox]),label:has(input[type=radio]){display:flex;align-items:center;font-weight:500;min-height:44px;margin:0}.form-row{display:grid;gap:0 1rem;grid-template-columns:1fr}fieldset{border:0;padding:0;margin:1.2rem 0 1.5rem;min-width:0}legend{font-size:1rem;font-weight:750;padding:0;margin-bottom:.8rem}.form-section{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1.5rem}.form-help{font-weight:400;font-size:.82rem;color:var(--muted);display:block;margin:.3rem 0 .8rem}.field-error{display:block;color:var(--error);font-size:.85rem;margin:.35rem 0}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)!important}.password-field{position:relative}.password-field input{padding-right:5.5rem!important}.password-toggle{position:absolute;right:4px;top:4px;background:transparent;color:var(--muted);font-size:.75rem;min-height:40px;padding:.5rem}.password-toggle:hover{background:var(--surface)}.flash{padding:1rem 1.2rem;border:1px solid var(--line);border-radius:var(--small-radius);margin-bottom:1.5rem}.flash-success{background:#122f2c;color:var(--success);border-color:#2b6554}.flash-error{background:#35202c;color:var(--error);border-color:#713d4b}.flash ul{margin:.5rem 0 0;padding-left:1.2rem}.network-status{padding:.75rem var(--space);background:#392f1c;color:var(--gold);font-size:.9rem}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--muted)}.empty-state h2{color:var(--ink)}.qr-page{text-align:center;max-width:640px;margin:1rem auto}.qr{padding:1.25rem;background:white;border-radius:18px;width:fit-content;margin:1.5rem auto;color:#000}.qr svg,.qr img{width:min(260px,60vw);height:auto;display:block}.qr-page .actions{justify-content:center}.success-mark{color:var(--gold);font-size:2.3rem}.badge{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:7px;padding:.3rem .6rem;color:var(--muted);font-size:.75rem}.code{font:700 1.6rem ui-monospace,monospace;letter-spacing:.1em;color:var(--gold);overflow-wrap:anywhere}.settings-layout{max-width:780px;margin:auto}.settings-section{border-top:1px solid var(--line);padding:1.5rem 0}.settings-section summary{font-size:1.1rem;font-weight:700;cursor:pointer;min-height:44px}.settings-section[open] summary{margin-bottom:1.5rem}.settings-section form{max-width:600px}.stats-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem}.stat{border-left:2px solid var(--line);padding:.2rem 1rem}.stat strong{display:block;font-size:1.8rem;letter-spacing:-.05em;line-height:1.3;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:.8rem}.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:1rem 0}table{border-collapse:collapse;width:100%;font-size:.85rem;text-align:left}th,td{padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.72rem;letter-spacing:.03em;color:var(--muted);background:var(--surface);white-space:nowrap;font-weight:650}td{min-width:90px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#ffffff03}.filter-form{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end;margin:1.5rem 0}.filter-form label{margin:0;flex:1;min-width:140px}.filter-form button{flex-shrink:0}.pagination{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0;font-size:.85rem}.session-list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.session-row{padding:1.1rem 0;border-bottom:1px solid var(--line)}.session-row h3{margin:0}.session-row p{font-size:.85rem;margin:.5rem 0 0}.session-result{color:var(--cyan);font-weight:700}.diary{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.diary summary{cursor:pointer;min-height:44px;font-size:.72rem;letter-spacing:.08em;color:var(--muted);font-weight:750}.diary ol{list-style:none;padding:0;max-height:280px;overflow:auto;font-size:.8rem}.diary li{padding:.7rem 0;border-bottom:1px solid var(--line)}.diary li strong{display:block;color:var(--ink);font-family:ui-monospace,monospace;overflow-wrap:anywhere}.diary li span{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);padding:1.5rem;max-width:min(500px,calc(100vw - 2rem));max-height:85dvh;overflow:auto;box-shadow:var(--shadow)}dialog::backdrop{background:#020817c9}.dialog-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.dialog-heading h2{margin-top:.5rem}.dialog-heading button{min-width:44px}.admin-nav{display:flex;gap:.4rem;overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:2rem}.admin-nav a{min-height:44px;padding:.6rem .9rem;color:var(--muted);border-radius:8px;font-size:.85rem}.admin-nav a[aria-current]{color:var(--cyan);background:var(--surface)}.admin-grid{display:grid;gap:1rem}.chart{background:var(--surface);border:1px solid var(--line);padding:1.2rem;border-radius:var(--radius);min-width:0}.chart h2{font-size:1.1rem}.chart svg{width:100%;height:auto;display:block}.chart-legend{display:flex;gap:1rem;font-size:.75rem;color:var(--muted)}.data-list{padding:0;list-style:none}.data-list>li{border-bottom:1px solid var(--line);padding:1rem 0;overflow-wrap:anywhere}.data-list form{display:inline-block;margin:.5rem .5rem .5rem 0}.conversation{display:grid;gap:.8rem}.message{padding:1rem 1.1rem;max-width:92%;border-radius:14px;background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.message.user{justify-self:end;background:#152e43}.message strong{display:block;color:var(--cyan);font-size:.73rem;letter-spacing:.05em;margin-bottom:.5rem}.message p{margin:0;color:var(--ink)}.message time{display:block;font-size:.7rem;color:var(--muted);margin-top:.5rem}.voice-layout{max-width:740px;margin:auto}.voice-heading{text-align:center;margin:1rem 0 2rem}.voice-heading .ai-symbol{margin:auto auto 1rem}.voice-state{font-size:.9rem;color:var(--purple);min-height:1.5rem}.voice-main{text-align:center;padding:1rem 0}.mic-button{min-height:70px;min-width:180px;border-radius:50px}.mic-button[data-recording=true]{background:var(--error);color:var(--bg)}.chat-form{display:flex;gap:.7rem;align-items:end;margin:1rem 0}.chat-form label{flex:1;margin:0}.chat-form textarea{min-height:54px;max-height:150px}.chat-form button{margin:0}.conversation-history{max-height:55vh;overflow:auto;overscroll-behavior:contain;margin:1.5rem 0;padding:.2rem}.voice-error{margin-top:1rem}.camera-preview{width:100%;max-height:300px;border-radius:12px;background:#000}.chat-audio{width:100%;margin:1rem 0}.utility-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.status-text{min-height:1.5em}.number{font-variant-numeric:tabular-nums}.danger-zone{border-color:var(--error)}.danger-zone summary{color:var(--error)}
@media(min-width:600px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr 1fr}.stats-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:950px){.hero{grid-template-columns:1.2fr 1fr;padding:3.5rem 0 4rem;gap:3.5rem}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-menu summary{display:none}.nav-menu nav{position:static;display:flex!important;align-items:center;width:auto;background:none;border:0;padding:0;box-shadow:none;gap:.2rem}.nav-menu:not([open])>nav{display:flex}.nav-menu nav>a{font-size:.82rem;padding:.65rem}.header-inner{padding-top:1.1rem;padding-bottom:1.1rem}.site-main{padding-top:2rem}}
@media(max-width:599px){.hero-lab{max-width:450px}.hero .actions{display:grid}.hero .button{width:100%}.section-heading{align-items:start;flex-direction:column;gap:.5rem}.game-card-art{height:125px}.site-footer{font-size:.72rem}.site-footer span:nth-child(2){display:none}.corra-callout .button,.inline-callout .button{width:100%}.chat-form{gap:.5rem}.chat-form button{padding:.8rem}.stat{padding-left:.7rem}.stat strong{font-size:1.6rem}}
[data-high-contrast]{--bg:#030b1a;--surface:#091527;--surface-raised:#132840;--muted:#e3eaf3;--line:#8eaccd;--cyan:#86eeff;--purple:#d3c4ff;--gold:#ffe089;--ink:#fff}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[data-reduced-motion] *,[data-reduced-motion] *::before,[data-reduced-motion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
