/* A nova entrada é isolada: não altera estilos nem ações dos módulos existentes. */
.prisma-demo-body { margin:0; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#173149; }
.prisma, .prisma-dialog, .prisma-demo-detail, .prisma *, .prisma-dialog *, .prisma-demo-detail * { box-sizing:border-box; }
.prisma { --p-ink:#173149; --p-muted:#526d81; --p-green:#007d75; color:var(--p-ink); font-family:Inter,-apple-system,sans-serif; max-width:1100px; margin:auto; padding:30px 38px 118px; }
.prisma button,.prisma input,.prisma-dialog button,.prisma-demo-detail button { font:inherit; }
.prisma button,.prisma-dialog button,.prisma-demo-detail button { cursor:pointer; }
.prisma button,.prisma a,.prisma-dialog button,.prisma-dialog a,.prisma-demo-detail button,.prisma-demo-detail a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.prisma :is(button,a,input):focus-visible,.prisma-dialog :is(button,a):focus-visible { outline:3px solid #07828f; outline-offset:4px; }
.prisma-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.prisma-appearance { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 25px; font:11px Inter,-apple-system,sans-serif; color:#5c788a; }
.prisma-mode-switch { display:flex; gap:3px; padding:4px; border-radius:13px; border:1px solid #ffffffda; background:#dce8f1aa; }
.prisma-mode-switch button { display:flex; align-items:center; justify-content:center; gap:6px; padding:9px 11px; min-height:38px; border:1px solid transparent; border-radius:9px; background:transparent; color:#4a677c; font:500 11px Inter,-apple-system,sans-serif; cursor:pointer; }
.prisma-mode-switch button[aria-pressed="true"] { color:#00766c; background:#ffffffdc; border-color:#fff; box-shadow:0 4px 10px -6px #325e7a70; }
.prisma-mode-switch button:focus-visible { outline:3px solid #228a95; outline-offset:3px; }
.prisma-mode-switch svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.prisma-login-links .prisma-appearance { flex-wrap:wrap; justify-content:center; margin-bottom:16px; }
.prisma-brand { color:#173149; text-decoration:none; font-size:25px; font-weight:800; letter-spacing:-1.3px; }
.prisma-brand em { color:#058b7d; font-style:normal; }
.prisma-head-actions { display:flex; gap:10px; align-items:center; }
.prisma-tag { border:1px solid #cadbe7; border-radius:30px; padding:7px 10px; color:#43677e; font-size:10px; font-weight:600; letter-spacing:.08em; background:#f7fcffb8; white-space:nowrap; }
.prisma-round { display:grid; place-items:center; width:42px; height:42px; border:1px solid #ffffff; border-radius:50%; background:linear-gradient(130deg,#ffffff,#dcebf5); color:#31586e; box-shadow:0 6px 16px -10px #34587880,inset 0 -2px 3px #bad2e266; }
.prisma-round--avatar { background:linear-gradient(140deg,#fff,#c6e6dd); color:#286862; font-size:14px!important; font-weight:700!important; }
.prisma-svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.prisma-intro { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:29px; }
.prisma-eyebrow { margin:0 0 10px; color:#4a7388; font-size:10px; font-weight:600; letter-spacing:.17em; text-transform:uppercase; }
.prisma h1 { margin:0; font-size:44px; line-height:1.11; font-weight:650; letter-spacing:-2px; }
.prisma h1 span { color:#52748b; }
.prisma-search { display:flex; align-items:center; gap:11px; background:#ffffffae; border:1px solid white; border-radius:16px; padding:0 16px; color:#55788c; min-width:300px; box-shadow:0 6px 14px -12px #4b709a,0 1px 4px #acc4d123 inset; }
.prisma-search input { width:100%; min-width:0; border:0; background:transparent!important; color:#173149; padding:16px 0; outline:none; font-size:13px; box-shadow:none!important; }
.prisma-search:focus-within { outline:2px solid #73b6b7; outline-offset:2px; }
.prisma-search input:focus-visible { outline:none; }
.prisma-search input::placeholder { color:#61798c; }
.prisma-glass { border:1px solid #ffffffed; background:linear-gradient(130deg,#ffffffdb,#effaff80 52%,#e6eaff70); border-radius:26px; box-shadow:0 18px 35px -25px #40698966,inset 0 -3px 3px #a9c9e138,inset 0 2px 1px #fff; }
.prisma-guardian { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:34px 42px; min-height:235px; overflow:hidden; }
.prisma-guardian::before { content:""; position:absolute; z-index:-1; right:-30px; top:-90px; width:350px; height:350px; border:1px solid #ffffff9e; border-radius:50%; box-shadow:0 0 0 25px #fff3,0 0 0 60px #fff2,0 0 0 95px #fff1; }
.prisma-guardian-copy { max-width:430px; }
.prisma-guardian .prisma-eyebrow { color:#007d75; display:flex; gap:7px; align-items:center; }
.prisma-dot { width:5px; height:5px; border-radius:50%; background:#0a9285; display:inline-block; }
.prisma h2 { margin:0 0 10px; font-size:29px; line-height:1.14; font-weight:650; letter-spacing:-1px; }
.prisma-guardian p:not(.prisma-eyebrow) { color:#4e6c80; margin:0 0 22px; max-width:340px; font-size:13px; line-height:1.65; }
.prisma-primary { border:1px solid #008275; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:13px 18px; background:linear-gradient(140deg,#159889,#007a75); box-shadow:0 6px 15px -8px #0e8c7b99,inset 0 1px 1px #ffffff66; color:#fff; font-size:12px!important; font-weight:600!important; text-decoration:none; min-height:44px; }
.prisma-primary:hover { background:#006b64; }
.prisma-icon { display:inline-block; width:98px; aspect-ratio:1; background-image:url("prisma-icons.png"); background-size:300% 300%; background-repeat:no-repeat; mix-blend-mode:multiply; flex-shrink:0; pointer-events:none; }
.prisma-icon { -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect; }
.prisma-icon--guardian { background-position:0 0; }
.prisma-icon--alertas { background-position:50% 0; }
.prisma-icon--phantom { background-position:100% 0; }
.prisma-icon--forge { background-position:0 50%; }
.prisma-icon--cursos { background-position:50% 50%; }
.prisma-icon--comunidade { background-position:100% 50%; }
.prisma-icon--afiliados { background-position:0 100%; }
.prisma-guardian > .prisma-icon { width:220px; transform:rotate(-5deg); filter:drop-shadow(0 12px 8px #48779710); }
.prisma-section { margin-top:31px; }
.prisma-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 4px 13px; }
.prisma-section-head h2 { font-size:17px; letter-spacing:-.45px; margin:0; }
.prisma-section-head span { color:#56788d; font-size:10px; }
.prisma-section-head button { border:0; background:none; color:#386b7d; min-height:32px; padding:0 4px; font-size:11px; }
.prisma-shelf { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.prisma-module { position:relative; min-width:0; padding:12px 18px 22px; border:1px solid #ffffffe8; border-radius:22px; background:linear-gradient(145deg,#ffffffbc,#f5faff60); color:#173149; box-shadow:0 14px 20px -17px #416c9280,inset 0 -4px 2px #accae02e; display:flex; flex-direction:column; align-items:center; transition:transform .2s,box-shadow .2s,border-color .2s; }
.prisma-module:hover { transform:translateY(-5px); box-shadow:0 18px 24px -17px #24627c91,inset 0 -3px 2px #accae030; border-color:#a7cccd; }
.prisma-module strong { font-size:15px; letter-spacing:-.3px; font-weight:650; }
.prisma-module small { display:block; margin-top:5px; color:#58758a; font-size:10px; line-height:1.4; text-align:center; }
.prisma-module-arrow { position:absolute; top:14px; right:16px; color:#7696a8; font-size:15px; }
.prisma-module[hidden],.prisma-section[hidden],.prisma-demo-detail[hidden] { display:none; }
.prisma-learning { display:flex; align-items:center; gap:22px; padding:18px 24px; border-radius:21px; }
.prisma-learning-art { display:grid; place-items:center; width:76px; height:76px; border:1px solid #fff; border-radius:16px; background:radial-gradient(at 15% 10%,#c9ebe3,#dce6f7 70%); flex-shrink:0; color:#0b7873; }
.prisma-learning-art .prisma-svg { width:32px; height:32px; }
.prisma-learning-copy { flex:1; min-width:0; }
.prisma-learning-copy .prisma-eyebrow { margin-bottom:7px; font-size:9px; }
.prisma-learning-copy h3 { margin:0 0 7px; font-size:15px; font-weight:600; letter-spacing:-.3px; }
.prisma-learning-copy p { font-size:11px; color:#58748a; margin:0; line-height:1.5; }
.prisma-link { color:#276c7c; background:#ffffff75; border:1px solid #fff; border-radius:11px; min-height:44px; padding:10px 13px; text-decoration:none; font-size:12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.prisma-link:hover { background:#fff; }
.prisma-demo-note { margin:24px 0 0; text-align:center; color:#516d82; font-size:11px; line-height:1.7; }
.prisma-demo-note a { color:#087970; text-underline-offset:3px; }
.prisma-empty { color:#52748b; background:#ffffff90; padding:25px; border-radius:18px; font-size:13px; }
.prisma-dock { position:fixed; z-index:90; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:5px; padding:7px; max-width:calc(100vw - 36px); width:365px; border:1px solid #ffffff; border-radius:22px; background:#f9fcffd9; box-shadow:0 12px 30px -12px #3c5f8966,inset 0 -3px 2px #bbd2e44a; -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); }
.prisma-dock button { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:7px 5px; min-width:0; min-height:54px; border:0; border-radius:15px; background:none; color:#54738a; font-size:9px; }
.prisma-dock button[aria-current="page"] { color:#00756d; background:linear-gradient(140deg,#e1f5ee,#dcebeedb); box-shadow:inset 0 1px 0 #ffffff; }
.prisma-dock button:hover { background:#e4eff4; }
.prisma-dialog { margin:auto; padding:26px; width:min(510px,calc(100% - 28px)); max-height:85svh; color:#173149; font-family:Inter,-apple-system,sans-serif; background:#f5faff; border:1px solid #fff; border-radius:25px; box-shadow:0 30px 80px -20px #153f7166; }
.prisma-dialog::backdrop { background:#1b395a66; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.prisma-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.prisma-dialog h2 { margin:0; font-size:22px; letter-spacing:-.65px; }
.prisma-dialog p { color:#526c83; font-size:13px; line-height:1.7; }
.prisma-dialog .prisma-round { flex-shrink:0; }
.prisma-explore-list { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.prisma-explore-list button { min-height:47px; text-align:left; color:#25495f; background:#fff; border:1px solid #dae6ec; border-radius:12px; padding:11px 13px; font-size:12px; }
.prisma-explore-list button:hover { border-color:#62a6a4; background:#edf7f3; }
.prisma-login-links { max-width:380px; text-align:center; padding:16px 12px 0; font-size:11px; color:#536e83; line-height:1.6; position:relative; }
.prisma-login-links a { color:#087a73; display:inline-block; margin-bottom:9px; padding:9px 12px; border-radius:10px; background:#ffffffb0; border:1px solid #fff; }
html:not([data-theme="prisma"]) .prisma-login-links { display:none; }
html[data-theme="prisma"] .prisma-home-active #main-area { overflow:visible; }
/* O transform legado prenderia o dock à view; o novo home mantém o menu no viewport. */
html[data-theme="prisma"] #view-ecossistema { will-change:auto; transform:none; animation:none; backface-visibility:visible; }
/* A barra externa de colaboração é bloqueada pela CSP e não deve cobrir o app no preview. */
html[data-theme="prisma"] div:has(> iframe[title="Netlify Drawer"]) { display:none!important; }
.prisma-skip { position:fixed; top:-80px; left:12px; z-index:100; padding:12px 16px; background:white; color:#086f6b; border-radius:12px; }
.prisma-skip:focus { top:12px; }
@media (min-width:860px) {
  .prisma-home-active .prisma { padding:32px 34px 120px; }
  .prisma-home-active .prisma-dock { left:calc(50% + 123px); }
  .prisma-home-active .prisma h1 { font-size:38px; }
  .prisma-home-active .prisma-search { min-width:230px; }
}
@media (max-width:859px) {
  html[data-theme="prisma"] .prisma-home-active #sidebar { display:none; }
  html[data-theme="prisma"] .prisma-home-active #main-area { margin-left:0; width:100%; }
  .prisma { padding:24px 22px 118px; max-width:680px; }
  .prisma-head { margin-bottom:17px; }
  .prisma-intro { display:block; margin-bottom:21px; }
  .prisma h1 { font-size:38px; letter-spacing:-1.6px; }
  .prisma-search { min-width:0; margin-top:23px; }
  .prisma-guardian { min-height:196px; padding:25px; gap:0; }
  .prisma-guardian > .prisma-icon { width:150px; margin-right:-17px; }
  .prisma h2 { font-size:25px; }
  .prisma-guardian p:not(.prisma-eyebrow) { font-size:12px; margin-bottom:17px; max-width:250px; }
  .prisma-guardian .prisma-eyebrow { font-size:9px; }
  .prisma-section { margin-top:27px; }
  .prisma .prisma-section-head h2 { font-size:17px; }
  .prisma-shelf { gap:10px; }
  .prisma-module { padding:6px 6px 19px; border-radius:19px; }
  .prisma-module .prisma-icon { width:94px; max-width:100%; }
  .prisma-module strong { font-size:13px; }
  .prisma-module small { font-size:9px; }
  .prisma-learning { padding:16px; gap:13px; }
  .prisma-learning-art { width:62px; height:68px; }
  .prisma-learning > .prisma-link { padding:10px; font-size:0; }
  .prisma-learning > .prisma-link .prisma-svg { width:17px; }
  .prisma-dock { bottom:max(14px,env(safe-area-inset-bottom)); }
}
@media (max-width:420px) {
  .prisma { padding-left:18px; padding-right:18px; }
  .prisma-brand { font-size:23px; }
  .prisma-head-actions { gap:6px; }
  .prisma-head .prisma-tag { padding:6px 8px; font-size:8px; }
  .prisma-head .prisma-round { width:37px; height:37px; }
  .prisma h1 { font-size:35px; }
  .prisma-guardian { padding:22px 19px; border-radius:23px; }
  .prisma-guardian-copy { position:relative; z-index:1; max-width:205px; }
  .prisma-guardian h2 { font-size:24px; }
  .prisma-guardian p:not(.prisma-eyebrow) { max-width:185px; }
  .prisma-guardian > .prisma-icon { width:127px; margin-left:-10px; margin-right:-11px; }
  .prisma-primary { padding:12px 13px; gap:9px; font-size:11px!important; }
  .prisma-module .prisma-icon { width:87px; }
  .prisma-module-arrow { top:9px; right:10px; font-size:12px; }
  .prisma-module small { font-size:8px; }
  .prisma-learning-copy h3 { font-size:13px; }
}
@media (max-width:360px) { .prisma-head .prisma-tag { display:none; } }
@media (prefers-reduced-motion:reduce) { .prisma *, .prisma *::before { transition:none!important; animation:none!important; } }
