:root{color-scheme:light;--bg:#ebf8f3;--green:#065744;--mint:#cdf1e2;--ink:#172b26;--muted:#48675d;--line:#cde3da;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #25896d;outline-offset:3px}
header,main,#nav{width:min(100%,820px);margin:auto;padding-inline:16px}header{padding-block:18px 8px;font-weight:800;color:var(--green)}header span{margin-right:5px}main{padding-block:12px calc(95px + env(safe-area-inset-bottom));outline:none}h1{font-size:clamp(1.65rem,5vw,2.25rem);letter-spacing:-.045em;margin:0 0 5px;line-height:1.12}h2{font-size:1.15rem;margin:0 0 8px}p{margin:0 0 10px;line-height:1.5}p:last-child{margin-bottom:0}.muted,small{color:var(--muted)}.intro{margin-bottom:18px}.eyebrow{font-size:.73rem;text-transform:uppercase;font-weight:800;letter-spacing:.09em;color:var(--green);margin-bottom:6px}.card,.tile,.module{background:white;border:1px solid var(--line);border-radius:15px;padding:14px}.stack{display:grid;gap:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mint{background:var(--mint)}.tile{display:grid;gap:4px;min-height:94px}.glyph,.badge{color:var(--green);font-weight:800}.glyph{font-size:1.3rem}.badge{background:var(--mint);border-radius:50%;display:grid;place-items:center;width:39px;height:39px;flex:none}.module{display:flex;align-items:center;gap:12px;min-height:66px}.module small,.tile small{display:block}.module .arrow{margin-left:auto;color:var(--green)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.between{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid var(--green);border-radius:10px;background:var(--green);color:white;font-weight:700;text-align:center}.secondary{background:white;color:var(--green);border-color:var(--line)}.wide{width:100%}progress{width:100%;height:12px;accent-color:var(--green);margin:5px 0 12px}.back{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-weight:700}.check{display:flex;gap:10px;align-items:center;min-height:46px;border-bottom:1px solid var(--line)}.check:last-child{border:0}.check input{width:20px;height:20px;accent-color:var(--green);flex:none}label.field{display:grid;gap:5px;font-weight:700}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px;min-height:44px}textarea{resize:vertical;line-height:1.5}blockquote{margin:8px 0 12px;padding:12px;background:var(--bg);border-radius:10px;line-height:1.5}.result strong{display:block;font-size:2rem}.stat strong{display:block;font-size:1.55rem}.error{color:#982923}nav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:2}#nav{display:grid;grid-template-columns:repeat(4,1fr);padding-block:5px}nav a{display:grid;justify-items:center;align-content:center;min-height:51px;border-radius:10px;font-size:.72rem;color:var(--muted)}nav a span{font-size:1.15rem}nav [aria-current]{background:var(--mint);color:var(--green);font-weight:800}#status:not(:empty){position:fixed;bottom:calc(73px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:var(--ink);color:white;padding:10px 14px;border-radius:10px;z-index:3} [hidden]{display:none!important}
@media(min-width:680px){header,main,#nav{padding-inline:26px}.dashboard{grid-template-columns:1.15fr 1fr;align-items:start}.dashboard .tip{grid-column:1/-1}.library{grid-template-columns:1fr 1fr}.card{padding:18px}}

.visual-guide{margin:0;max-width:640px;width:100%;justify-self:center}.visual-guide img{display:block;width:100%;height:auto;border-radius:15px}.visual-guide figcaption{text-align:center;font-size:.8rem;color:var(--muted);padding:7px}summary{cursor:pointer;min-height:44px;padding-block:9px}details p{margin-top:8px}
/* Ajustes da referência aprovada pelo usuário */
:root { --bg:#e7f5ee; --green:#087457; --dark:#173a31; --mint:#d0eadf; --ink:#152b24; --line:#cde1d6; font-family:Arial,system-ui,sans-serif; }
body { min-height:100vh; background:radial-gradient(ellipse at 10% 0,#f5fcf8,transparent 55%); }
header { padding-block:23px 14px; font-size:1.03rem; }
header a { display:inline-flex; align-items:center; gap:7px; min-height:32px; }
header a span { font-size:1.4rem; }
h1 { font-size:clamp(1.4rem,5vw,1.9rem); line-height:1.18; letter-spacing:-.035em; }
h2 { font-size:1.03rem; line-height:1.35; }
.intro p { font-size:.9rem; }
.card,.tile { border-color:#d9e7df; border-radius:13px; padding:16px; box-shadow:0 3px 7px #214b3510; }
.stack { gap:14px; }
.tile { gap:7px; min-height:122px; justify-items:start; align-content:start; transition:transform .15s,box-shadow .15s; }
.tile:hover { transform:translateY(-2px); box-shadow:0 6px 13px #214b3520; }
.tile strong { font-size:.89rem; }
.glyph { width:39px; height:39px; padding:6px; background:#e0f3e9; border-radius:9px; }
.glyph svg,.module-art svg { display:block; width:100%; height:100%; }
.btn { border-color:var(--dark); border-radius:24px; background:var(--dark); font-size:.87rem; padding:10px 16px; }
.btn:hover { filter:brightness(1.1); }
.secondary { background:#f0f8f4; color:var(--dark); border-color:#bddbcb; }
progress { display:block; appearance:none; height:7px; border:0; border-radius:8px; margin:13px 0 17px; overflow:hidden; background:#e2e7e4; }
progress::-webkit-progress-bar { background:#e2e7e4; }
progress::-webkit-progress-value { background:var(--green); border-radius:8px; }
progress::-moz-progress-bar { background:var(--green); }
.journey { position:relative; gap:17px; padding-left:35px; }
.journey::before { content:''; position:absolute; left:12px; top:15px; bottom:32px; width:2px; background:#8eb6a3; }
.module { position:relative; display:block; background:none; padding:0; border:0; }
.badge { position:absolute; left:-35px; top:9px; z-index:1; border:3px solid var(--bg); width:27px; height:27px; background:var(--green); color:white; font-size:.72rem; }
.module-content { display:grid; grid-template-columns:1fr 80px; gap:9px 12px; align-items:center; min-height:142px; padding:16px; border:1px solid #c2dfcf; border-radius:13px; background:linear-gradient(135deg,#e2f3ea,#cfe9dd); box-shadow:0 3px 7px #214b3510; }
.module-content strong { grid-column:1/-1; font-size:.98rem; max-width:29ch; line-height:1.3; }
.module-content small { grid-column:1; }
.module-art { grid-column:2; grid-row:2/4; width:69px; height:69px; justify-self:end; color:#14654d; background:#eff9e6; border-radius:20px; padding:11px; transform:rotate(-5deg); }
.module:nth-child(3n) .module-art { background:#f6e7a5; transform:rotate(7deg); }
.pill { grid-column:1; justify-self:start; display:inline-block; border-radius:20px; background:var(--dark); color:white; padding:7px 12px; font-size:.73rem; font-weight:700; }
.pill.completed { background:var(--green); }
.pill.ongoing { background:#f3ce70; color:#4c3809; }
.check { min-height:49px; font-size:.91rem; line-height:1.5; }
label.field { font-size:.85rem; gap:7px; }
input:not([type=checkbox]),select,textarea { border-color:#cfdcd4; border-radius:8px; font-size:.94rem; padding:11px; }
textarea { font-weight:400; }
blockquote { padding:14px; background:#e4f4eb; line-height:1.6; font-size:.94rem; }
.library article:nth-child(odd) { background:var(--green); color:white; border-color:var(--green); }
.library article:nth-child(odd) .eyebrow { color:#d9f6e7; }
.library article:nth-child(odd) blockquote { background:transparent; padding-inline:0; }
.library article:nth-child(odd) .btn { border-color:#79aa94; }
.stat strong { font-size:1.75rem; margin-bottom:8px; letter-spacing:-.035em; }
.stat { font-size:.85rem; }
nav { background:#fafffcf5; border-color:#c4dace; backdrop-filter:blur(12px); }
nav a { position:relative; gap:3px; min-height:57px; font-size:.68rem; }
nav svg { width:22px; height:22px; }
nav [aria-current] { background:transparent; }
nav [aria-current]::before { content:''; position:absolute; top:-5px; height:3px; width:34px; border-radius:2px; background:var(--green); }
.visual-guide { max-width:540px; }
li { line-height:1.6; margin-bottom:8px; }
@media(max-width:479px) {
  body[data-section="inicio"] .tool-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  body[data-section="inicio"] .tile { padding:10px 5px; min-height:105px; justify-items:center; text-align:center; }
  body[data-section="inicio"] .tile strong { font-size:.7rem; overflow-wrap:anywhere; }
  body[data-section="inicio"] .tile small { display:none; }
}
@media(min-width:680px) {
  .dashboard { gap:20px; }
  .module-content { grid-template-columns:1fr 100px; }
}
@media(prefers-reduced-motion:reduce) { .tile { transition:none; } }
header .brand-logo { display:block; width:218px; max-width:100%; height:auto; }
header a { max-width:100%; }

