.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--sp-3) var(--sp-5);border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-base);font-weight:700;cursor:pointer;text-decoration:none;transition:transform var(--dur-instant) var(--ease-out),border-bottom-width var(--dur-instant) var(--ease-out)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand-500);color:var(--text-on-brand);border-bottom:var(--press-depth) solid var(--brand-700)}.btn--primary:active:not(:disabled){transform:translateY(var(--press-depth));border-bottom-width:0}.btn--secondary{background:var(--surface);color:var(--text-brand);border:var(--hairline) solid var(--border);border-bottom:var(--press-depth) solid var(--border)}.btn--secondary:active:not(:disabled){transform:translateY(var(--press-depth));border-bottom-width:0}.btn--ghost{background:transparent;color:var(--text-muted);padding:var(--sp-2)}.btn--block{width:100%}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:active:not(:disabled){transform:none;opacity:.85}}.card{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-card)}.card--flush{padding:0;overflow:hidden}.progress{display:flex;align-items:center;gap:var(--sp-3);width:100%}.progress__track{flex:1;height:var(--sp-3);background:var(--progress-track);border-radius:var(--radius-full);overflow:hidden}.progress__fill{height:100%;background:var(--progress-fill);border-radius:var(--radius-full);transition:width var(--dur-quick) var(--ease-out)}.progress__label{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field__label{font-size:var(--text-sm);font-weight:600;color:var(--text)}.field__input{min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);width:100%}.field__input--code{font-family:var(--font-code)}.field__hint{font-size:var(--text-sm);color:var(--text-muted)}.callout{display:flex;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--radius-md);font-size:var(--text-base)}.callout__icon{flex:0 0 auto;font-weight:700;font-family:var(--font-display)}.callout__body{flex:1;min-width:0}.callout--info{background:var(--brand-100);color:var(--text-on-tint)}.callout--success{background:var(--success-100);color:var(--success-600)}.callout--error{background:var(--error-100);color:var(--error-600)}:root{--brand-900: #1b1b3a;--brand-700: #2e2e6b;--brand-500: #4747a1;--brand-300: #8b8bd4;--brand-100: #e8e8f7;--accent-500: #f2a63b;--accent-100: #fdf0dc;--accent-700: #9a5b06;--warm-100: #fff7ee;--warm-200: #fdeeda;--warm-borda: #f3e2c6;--coin: #f6b83f;--coin-fundo: #fce7bd;--coin-borda: #d9922a;--flame: #f5893f;--flame-fundo: #fddfc9;--ring-tamanho: 3.25rem;--ring-traco: .375rem;--logo-azul: #4038bb;--logo-ambar: #fea513;--success-600: #1f8a5a;--success-100: #e3f5ec;--success-700: #187a4f;--text-on-success: #ffffff;--error-600: #c43d3d;--error-100: #fbe9e9;--error-700: #b83636;--neutral-focus: #f2a63b;--lang-js: #f7df1e;--lang-html: #b83b20;--lang-css: #175a9c;--lang-python: #306998;--lang-sql: #003b57;--text-on-language: #ffffff;--text-brand: var(--brand-700);--text-on-tint: var(--brand-900);--progress-track: var(--brand-100);--progress-fill: var(--brand-500);color-scheme:light;--surface: #ffffff;--surface-sunken: #f6f6fb;--surface-app: linear-gradient(180deg, var(--warm-100) 0, var(--surface-sunken) 30rem);--surface-code: #1b1b3a;--border: #dedeea;--text: #1b1b2e;--text-muted: #5c5c77;--text-on-brand: #ffffff;--text-on-code: #e8e8f7;--code-keyword: #f2a63b;--code-string: #8fd6b4;--code-number: #d7b6f5;--code-comment: #9a9ad6;--code-function: #9dc4ff;--font-display: "Bricolage Grotesque", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-code: "JetBrains Mono", ui-monospace, "Cascadia Mono", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--leading-tight: 1.2;--leading-body: 1.6;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--press-depth: 4px;--tap-min: 48px;--hairline: 1px;--ring-width: 2px;--focus-ring: 3px;--focus-offset: 2px;--editor-max-height: 40vh;--editor-min-height: auto;--preview-height: 240px;--largura-texto: 68ch;--largura-conteudo: 1200px;--coluna-enunciado: minmax(320px, 5fr);--coluna-editor: minmax(360px, 7fr);--largura-entrada: 400px;--largura-formulario-admin: 30rem;--largura-criar-conta: 46rem;--largura-filtro: 320px;--largura-decisao: 560px;--largura-barra-lateral: 232px;--largura-decisao-larga: 1100px;--altura-comprovativo: 70vh;--altura-comprovativo-min: 16rem;--coluna-definicao: 200px;--espaco-entre-letras: .04em;--largura-movel: 640px;--largura-folha: 480px;--altura-folha: 85vh;--largura-coluna-seccoes: 280px;--altura-barra: calc(var(--tap-min) + var(--sp-2) * 2 + var(--hairline));--veu: rgba(27, 27, 58, .55);--shadow-card: 0 1px 2px rgba(27, 27, 58, .05), 0 6px 16px rgba(27, 27, 58, .07);--shadow-card-hover: 0 2px 4px rgba(27, 27, 58, .06), 0 12px 28px rgba(27, 27, 58, .12);--dur-instant: .12s;--dur-quick: .2s;--dur-reward: .45s;--dur-loop: 1.2s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.4, .64, 1);--z-bar: 10;--z-feedback: 20}:root[data-tema=escuro]{color-scheme:dark;--surface: #1f1f3a;--surface-sunken: #14142a;--border: #39395f;--text: #ecebf8;--text-muted: #a7a7c9;--text-brand: #aeaee9;--text-on-tint: #ecebf8;--brand-100: #2c2c50;--brand-300: #9d9de2;--accent-100: #3b2d12;--accent-700: #f0b45e;--success-100: #16352a;--success-600: #47c08a;--success-700: #47c08a;--text-on-success: #14142a;--error-100: #3c1f1f;--error-600: #e57e7e;--error-700: #ec9090;--progress-fill: #8b8bd4;--logo-azul: #9d97ec;--warm-100: #241f2f;--warm-200: #2c2536;--warm-borda: #3a3050;--coin-fundo: #3a2f18;--flame-fundo: #3a2820;--veu: rgba(5, 5, 16, .7);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card-hover: 0 2px 6px rgba(0, 0, 0, .5)}@media(min-width:1024px){:root{--editor-max-height: 55vh;--editor-min-height: 40vh}}@media(prefers-reduced-motion:reduce){:root{--dur-instant: 1ms;--dur-quick: 1ms;--dur-reward: 1ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--text);background:var(--surface-sunken);background:var(--surface-app);background-attachment:fixed;-webkit-text-size-adjust:100%}h1,h2,h3{font-family:var(--font-display);line-height:var(--leading-tight);margin:0}p{margin:0}code,pre,kbd{font-family:var(--font-code);font-size:var(--text-sm)}:focus-visible{outline:var(--focus-ring) solid var(--neutral-focus);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}@keyframes entra-suave{0%{opacity:0;transform:translateY(var(--sp-2))}to{opacity:1;transform:translateY(0)}}.entra-suave{animation:entra-suave var(--dur-quick) var(--ease-out)}@media(prefers-reduced-motion:reduce){.entra-suave{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.voltar{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);margin-left:calc(var(--sp-3) * -1);border-radius:var(--radius-sm);color:var(--brand-500);font-weight:700;text-decoration:none}.voltar:hover{text-decoration:underline}.selo-pago{display:inline-flex;align-items:center;gap:var(--sp-1);padding:0 var(--sp-2);border-radius:var(--radius-full);background:var(--success-100);color:var(--success-700);font-size:var(--text-xs);font-weight:700;letter-spacing:normal;text-transform:none;white-space:nowrap}.voltar:focus-visible{outline:var(--focus-ring) solid var(--neutral-focus);outline-offset:var(--focus-offset)}
