:root{--primary:#2563eb;--dark:#1e3a8a;--bg:#edf3fb;--panel:#fff;--line:#d6e0ee;--text:#132033;--muted:#607089;--code:#1f2937;--codeHead:#374151;--shell:#0b1020;--note:#fff7d6;--green:#0f766e}
*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}header{height:46px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 2px 8px #0003}header h1{font-size:18px;font-weight:900}.brand{font-size:14px;font-weight:800;white-space:nowrap}.layout{height:calc(100vh - 46px);display:grid;grid-template-columns:155px 1fr}nav{background:#fff;border-right:1px solid var(--line);padding:10px 6px;overflow:auto}nav h3{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 6px 10px}.nav-btn{width:100%;border:0;background:transparent;color:#0f172a;cursor:pointer;text-align:left;font-size:12.2px;font-weight:750;padding:8px 7px;border-radius:7px;margin-bottom:4px}.nav-btn:hover{background:#eaf2ff;color:var(--primary)}.nav-btn.active{background:var(--primary);color:white;box-shadow:0 2px 7px rgba(37,99,235,.35)}main{padding:13px;overflow:hidden}.top-row{height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}.top-row h2{font-size:23px;color:var(--dark);font-weight:900;letter-spacing:-.3px}.objective{font-size:13px;text-align:right}.workspace{height:calc(100vh - 46px - 26px - 44px);display:grid;grid-template-columns:minmax(560px,1fr) minmax(390px,470px);grid-template-rows:minmax(0,2fr) minmax(215px,1fr);gap:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(15,23,42,.08)}.code-card{grid-column:1;grid-row:1;background:var(--code);color:#f3f4f6;display:flex;flex-direction:column}.panel-title{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:12px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.12)}.code-card .panel-title,.work-card .panel-title{background:var(--codeHead);color:#e5e7eb}.btn-copy{border:0;background:#4b5563;color:white;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:800;cursor:pointer}pre{flex:1;overflow:auto;padding:16px 18px;font-family:Consolas,"Courier New",monospace;font-size:13.2px;line-height:1.48;white-space:pre}.idle-card{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-height:0;background:#f8fafc}.idle-title{height:34px;background:#e0e7ff;color:#1e3a8a;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:900;border-bottom:1px solid var(--line)}.idle-window{margin:12px;border:1px solid #9ca3af;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 8px 22px #0002;flex:1;display:flex;flex-direction:column}.idle-bar{height:28px;background:#dbeafe;border-bottom:1px solid #9ca3af;display:flex;align-items:center;padding:0 10px;font-size:12px;font-weight:800;color:#1f2937}.shell{flex:1;background:#fff;color:#111827;font-family:Consolas,"Courier New",monospace;font-size:13px;line-height:1.5;padding:12px;white-space:pre;overflow:auto}.work-card{grid-column:1;grid-row:2;background:#111827;color:#f8fafc;display:flex;flex-direction:column}.work-content{overflow:auto;padding:14px 16px;line-height:1.45;font-size:13.3px}.work-content h4{color:#93c5fd;margin:8px 0 4px}.work-content pre{display:block;background:#020617;border:1px solid #334155;border-radius:7px;padding:10px;margin:8px 0;overflow:auto;font-size:12.8px}.work-content ul{margin-left:20px}.exercise-card{grid-column:2;grid-row:2;background:var(--note);border-left:5px solid #f59e0b;padding:14px 16px;overflow:auto;line-height:1.45}.exercise-card h3{color:#92400e;margin-bottom:8px}.theory-view{grid-column:1/3;grid-row:1/3;background:white;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 4px 14px rgba(15,23,42,.08);overflow:auto;line-height:1.55}.theory-view h3{font-size:22px;color:var(--dark);margin:4px 0 10px}.theory-view h4{color:#0f3f86;margin-bottom:6px}.theory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.theory-box,.example-card,.exercise,.quiz{border:1px solid var(--line);background:#f8fbff;border-radius:10px;padding:14px;margin:12px 0}.exercise{background:#fff7d6;border-left:5px solid #f59e0b}.symbols-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.symbol-card{border:1px solid var(--line);border-radius:10px;background:#f8fbff;padding:10px;text-align:center}.symbol-card svg{width:100%;height:80px}.symbol-card text,.flow-svg text{font-family:"Segoe UI",Arial,sans-serif;font-size:15px;fill:#111827;font-weight:750}.symbol-card strong{display:block;color:#0f3f86;margin-top:4px}.symbol-card span{display:block;font-size:12.5px;color:#475569}.flow-wrap{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;margin:10px 0 18px;overflow:auto}.flow-svg{min-width:720px;width:100%;height:auto}.clean-list{margin-left:20px}.quiz ol{margin-left:20px}.quiz li{margin-bottom:10px}
@media(max-width:1050px){body{overflow:auto}.layout{height:auto;grid-template-columns:1fr}nav{display:flex;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}nav h3{display:none}.nav-btn{min-width:max-content}main{overflow:visible}.workspace{height:auto;grid-template-columns:1fr;grid-template-rows:auto}.code-card,.idle-card,.work-card,.exercise-card,.theory-view{grid-column:auto;grid-row:auto}.code-card{height:440px}.idle-card{height:360px}.work-card{height:320px}.theory-grid,.symbols-grid{grid-template-columns:1fr}}


/* ===== BOTÃO VOLTAR AO PORTAL ===== */
.header-left{display:flex;align-items:center;gap:10px;min-width:0;}
.portal-link{display:inline-flex;align-items:center;justify-content:center;color:#ffffff;text-decoration:none;font-size:13px;font-weight:900;white-space:nowrap;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.14);border-radius:999px;padding:6px 10px;}
.portal-link:hover{background:rgba(255,255,255,.24);}
@media(max-width:720px){.header-left{flex-direction:column;align-items:flex-start;gap:5px}.portal-link{font-size:12px;padding:5px 9px}}
