/* Base de integração; cada atividade conserva seu conteúdo e identidade. */
.ft-main { display:block; min-width:0; }
.ft-back { padding:16px max(16px,calc((100% - 1280px)/2)); }
.ft-back a { color:inherit; text-decoration:none; font-weight:600; }
.ft-back a:hover { text-decoration:underline; }
.ft-legacy { width:100%; }
.ft-catalogo { padding-top:32px; padding-bottom:40px; }
.ft-catalogo h1 { margin-bottom:12px; }
.ft-catalogo .ft-recursos { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; padding:0; margin:24px 0; list-style:none; }
.ft-recursos a { display:block; height:100%; padding:20px; border:1px solid currentColor; border-radius:12px; color:inherit; text-decoration:none; }
.ft-recursos a:hover { text-decoration:underline; }
.ft-recursos strong,.ft-recursos span { display:block; }
.ft-recursos span { margin-top:6px; font-size:.9rem; }
@media print {
    body > header, body > footer, .ri-site-header, .ri-site-footer,
    .site-footer, .ri-footer, .skip-link, .ft-back { display:none!important; }
    .ft-main,.ft-legacy,.ft-printable { margin:0!important; padding:0!important; }
}

/* Componentes optativos: não alteram Calculadora nem Cainan Lab. */
.ft-library-tool,.ft-catalogo,.ft-tool-intro{
 --ft-blue:var(--school-blue,#0d2c6c);--ft-green:var(--school-green,#00856a);
 --ft-bg:var(--background,#f4f7f6);--ft-paper:var(--surface,#fff);
 --ft-ink:var(--text,#172033);--ft-muted:var(--muted,#687487);
 --ft-line:var(--line,#dfe5ee);--ft-soft:#edf4ff;--ft-good:#00745d;--ft-good-soft:#e1f3ed;
 --ft-shadow:0 12px 34px rgba(7,23,57,.07);
}
html[data-ri-theme="dark"] :is(.ft-library-tool,.ft-catalogo,.ft-tool-intro){
 --ft-blue:#9bbcff;--ft-green:#62d4b5;--ft-bg:#101a2b;--ft-paper:#18263b;
 --ft-ink:#edf3ff;--ft-muted:#b0bfd4;--ft-line:#34465e;--ft-soft:#233650;
 --ft-good:#75dfbe;--ft-good-soft:#173c35;--ft-shadow:0 12px 34px rgba(0,0,0,.15);
}
.ft-library-tool{width:min(1180px,calc(100% - 32px));margin:0 auto 40px;padding:0;
 color:var(--ft-ink);background:transparent;font-family:inherit;min-height:0;line-height:1.5;}
.ft-library-tool *{box-sizing:border-box;}
.ft-library-tool :is(button,input){font:inherit;}
.ft-library-tool :is(button,a,input):focus-visible,.ft-catalogo a:focus-visible{
 outline:3px solid var(--ft-blue);outline-offset:3px;}
.ft-library-tool .game-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 gap:24px;padding:22px 0 28px;background:transparent;color:var(--ft-ink);border:0;box-shadow:none;}
.ft-library-tool .ft-eyebrow,.ft-catalogo .ft-eyebrow,.ft-tool-intro .ft-eyebrow{
 display:block;margin:0 0 10px;color:var(--ft-green);font-size:.75rem;font-weight:800;
 letter-spacing:.12em;text-transform:uppercase;}
.ft-library-tool .game-header h1,.ft-catalogo h1,.ft-tool-intro h1{
 margin:0;color:var(--ft-ink);font-size:clamp(2rem,4vw,3rem);line-height:1.12;font-weight:800;letter-spacing:-.035em;}
.ft-library-tool .game-header p,.ft-tool-intro p,.ft-catalogo>p{
 max-width:650px;margin:12px 0 0;color:var(--ft-muted);font-size:1rem;line-height:1.65;}
.ft-library-tool .header-actions,.ft-library-tool .status-container{
 display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.ft-library-tool :is(.status-item,.score-box){padding:10px 16px;border:1px solid var(--ft-line);
 border-radius:14px;background:var(--ft-paper);color:var(--ft-muted);font-size:.8rem;min-width:100px;text-align:center;}
.ft-library-tool :is(.status-item strong,.score-box span){display:block;color:var(--ft-blue);font-size:1.25rem;font-weight:800;}
.ft-library-tool :is(.btn-reload,.btn-submit,.btn-restart){border:1px solid transparent;border-radius:10px;
 padding:12px 18px;background:var(--school-blue,#0d2c6c);color:#fff;font-size:.9rem;font-weight:750;cursor:pointer;}
.ft-library-tool :is(.btn-reload,.btn-submit,.btn-restart):hover{background:var(--school-blue-dark,#071739);}
.ft-library-tool .game-container{display:grid;grid-template-columns:minmax(0,1fr) 340px;
 align-items:start;gap:24px;width:100%;max-width:none;margin:24px 0 0;padding:0;}
.ft-library-tool :is(.board-section,.sidebar-section){min-width:0;padding:22px;
 background:var(--ft-paper);border:1px solid var(--ft-line);border-radius:18px;box-shadow:var(--ft-shadow);}
.ft-library-tool .board-section{display:block;overflow:visible;}
.ft-library-tool .ft-board-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.ft-library-tool :is(.ft-board-top h2,.sidebar-section h2){margin:0;color:var(--ft-ink);font-size:1.1rem;font-weight:800;}
.ft-library-tool .ft-board-top span,.ft-library-tool .ft-help{color:var(--ft-muted);font-size:.8rem;line-height:1.6;}
.ft-library-tool .ft-help{margin:16px 0 0;}
.ft-library-tool .ft-board-scroll{max-width:100%;overflow:auto;padding:5px;overscroll-behavior-x:contain;}
.ft-library-tool .ft-message{min-height:24px;margin:12px 0 0;color:var(--ft-good);font-weight:700;font-size:.85rem;}
.ft-tool-intro{width:min(1180px,calc(100% - 32px));margin:12px auto 28px;}
.ft-catalogo{padding-top:32px;padding-bottom:48px;}
.ft-catalogo .ft-recursos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0;}
.ft-catalogo .ft-recursos a{padding:24px;border:1px solid var(--ft-line);border-radius:18px;
 background:var(--ft-paper);color:var(--ft-ink);box-shadow:var(--ft-shadow);text-decoration:none;transition:border-color .2s,transform .2s;}
.ft-catalogo .ft-recursos a:hover{border-color:var(--ft-blue);transform:translateY(-3px);text-decoration:none;}
.ft-catalogo .ft-recursos .ft-resource-icon{display:grid;place-items:center;width:46px;height:46px;
 margin:0 0 20px;border-radius:12px;background:var(--ft-soft);color:var(--ft-blue);font-size:1.4rem;}
.ft-catalogo .ft-recursos strong{font-size:1.05rem;line-height:1.4;}
.ft-catalogo .ft-recursos span{color:var(--ft-muted);line-height:1.6;}
.ft-catalogo .ft-recursos .ft-resource-link{margin-top:22px;color:var(--ft-blue);font-weight:750;font-size:.8rem;}
.ft-catalogo details{padding:16px 20px;border:1px solid var(--ft-line);border-radius:14px;color:var(--ft-muted);}
.ft-catalogo summary{cursor:pointer;font-size:.85rem;font-weight:650;}
@media(max-width:1000px){.ft-library-tool .game-container{grid-template-columns:1fr;}
 .ft-catalogo .ft-recursos{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.ft-library-tool .game-header{gap:20px;padding-top:12px;}
 .ft-library-tool :is(.board-section,.sidebar-section){padding:16px;}
 .ft-library-tool .game-container{gap:16px;margin-top:16px;}
 .ft-library-tool .status-container{width:100%;}.ft-library-tool .status-item{flex:1;min-width:0;padding:9px;}
 .ft-catalogo .ft-recursos{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.ft-catalogo .ft-recursos a{transition:none;}}
