/* Aurivelis · Oráculo (v3.9, visual tecnológico v3.10): botão no canto, janela rápida e seção «Oráculo». Só aparece quando o administrador ativa a chave da IA. */
.orc-fab{position:fixed;z-index:45;right:14px;bottom:calc(var(--tab-h,64px) + env(safe-area-inset-bottom) + 14px);display:inline-flex;align-items:center;gap:var(--s-2);min-height:52px;min-width:52px;padding:0 15px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-pop,0 8px 24px rgba(0,0,0,.25));font:700 var(--t-small)/1 var(--font-ui);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur,.22s) var(--ease,ease),background var(--dur,.22s)}
.orc-fab:hover{background:var(--accent-hover,var(--accent));transform:translateY(-1px)}
.orc-fab:focus-visible{outline:3px solid var(--focus,#2a5bd7);outline-offset:3px}
.orc-fab .icon{width:26px;height:26px;flex:none}
.orc-fab>span:not(.orc-orb){display:none}
body:has(.app-shell.has-mini) .orc-fab{bottom:calc(var(--tab-h,64px) + 64px + env(safe-area-inset-bottom) + 14px)}
.orc-fab[hidden],.orc-pop[hidden]{display:none}

.orc-pop{position:fixed;z-index:70;left:0;right:0;bottom:0;display:flex;flex-direction:column;height:min(78dvh,640px);background:var(--surface);color:var(--ink);border:var(--bw,1px) solid var(--line);border-bottom:0;border-radius:var(--r-4,24px) var(--r-4,24px) 0 0;box-shadow:var(--shadow-pop,0 18px 48px rgba(0,0,0,.35));overflow:hidden;animation:orc-in .22s var(--ease,ease)}
@keyframes orc-in{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.orc-pop{animation:none}.orc-dots i{animation:none}}
.orc-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-bottom:var(--bw,1px) solid var(--line);background:var(--bg-alt)}
.orc-head .icon{width:22px;height:22px;color:var(--accent);flex:none}
.orc-head h2{flex:1;min-width:0;margin:0;font:700 1rem/1.2 var(--font-ui)}
.orc-head h2 small{display:block;margin-top:2px;font:400 var(--t-cap)/1.3 var(--font-ui);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orc-ibtn{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 10px;border:0;border-radius:var(--r-2,10px);background:transparent;color:var(--ink-2);font:700 var(--t-small)/1 var(--font-ui);cursor:pointer;text-decoration:none}
.orc-ibtn:hover{background:var(--surface-2);color:var(--ink)}
.orc-ibtn:focus-visible,.orc-chip:focus-visible,.orc-link:focus-visible{outline:3px solid var(--focus,#2a5bd7);outline-offset:2px}

.orc-chat{display:flex;flex-direction:column;flex:1;min-height:0}
.orc-msgs{flex:1;min-height:0;overflow:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);overscroll-behavior:contain}
.orc-b{max-width:88%;padding:11px 14px;border-radius:var(--r-3,16px);font:400 .98rem/1.55 var(--font-ui);overflow-wrap:anywhere}
.orc-b p,.orc-b li{margin:0 0 .6em;color:inherit;max-width:none}.orc-b p:last-child{margin-bottom:0}
.orc-b ul{margin:.3em 0 .6em;padding-left:1.2em}
.orc-b.u{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:var(--r-1,6px)}
.orc-b.a{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border:var(--bw,1px) solid var(--line);border-bottom-left-radius:var(--r-1,6px)}
.orc-b.err{align-self:stretch;max-width:none;background:var(--err-soft,#fbe6e3);border-color:transparent;color:var(--ink)}
.orc-b.err a{color:inherit;font-weight:700}
.orc-note{align-self:flex-start;font:700 var(--t-cap)/1.3 var(--font-ui);color:var(--sage,#4d6b4d)}
.orc-note button{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.orc-dots{display:inline-flex;gap:5px;align-items:center;height:1.55em}
.orc-dots i{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:orc-b 1s infinite ease-in-out}
.orc-dots i:nth-child(2){animation-delay:.15s}.orc-dots i:nth-child(3){animation-delay:.3s}
@keyframes orc-b{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.orc-sugg{display:flex;gap:var(--s-2);overflow-x:auto;padding:0 var(--s-4) var(--s-2);scrollbar-width:none}
.orc-sugg::-webkit-scrollbar{display:none}
.orc-chip{flex:none;display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:var(--bw,1px) solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink-2);font:600 var(--t-small)/1 var(--font-ui);cursor:pointer;white-space:nowrap}
.orc-chip:hover{background:var(--surface-2);color:var(--ink)}
.orc-form{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));border-top:var(--bw,1px) solid var(--line);background:var(--surface)}
.orc-row{display:flex;gap:var(--s-2);align-items:flex-end}
.orc-row textarea{flex:1;min-height:48px;max-height:140px;resize:none;padding:12px 14px;border:var(--bw,1px) solid var(--line-strong);border-radius:var(--r-3,16px);background:var(--surface-2);color:var(--ink);font:400 1rem/1.4 var(--font-ui)}
.orc-row textarea:focus-visible{outline:3px solid var(--focus,#2a5bd7);outline-offset:1px}
.orc-send{flex:none;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--accent);color:var(--accent-ink);cursor:pointer}
.orc-send:disabled{opacity:.45;cursor:default}
.orc-send .icon{width:22px;height:22px}
.orc-meta{display:flex;justify-content:space-between;gap:var(--s-3);font:400 var(--t-cap)/1.3 var(--font-ui);color:var(--ink-3)}
.orc-consent{padding:var(--s-3);border-radius:var(--r-2,10px);background:var(--bg-alt);border-left:3px solid var(--line-strong);font:400 var(--t-small)/1.5 var(--font-ui);color:var(--ink-2)}
.orc-consent{align-self:stretch}
.orc-ck{display:flex;gap:var(--s-3);align-items:center;min-height:44px;cursor:pointer;font:600 var(--t-small)/1.35 var(--font-ui);color:var(--ink)}
.orc-ck input{width:20px;height:20px;flex:none}
.orc-link{color:var(--accent);font-weight:700;text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;font-family:inherit;font-size:inherit}

/* seção completa */
.orc-sec .page-head{margin-bottom:var(--s-4)}
.orc-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;margin-bottom:var(--s-4);border-radius:var(--r-2,10px);background:var(--bg-alt);border:var(--bw,1px) solid var(--line)}
.orc-seg button{min-height:44px;padding:0 6px;border:0;border-radius:var(--r-1,6px);background:transparent;color:var(--ink-2);font:700 var(--t-small)/1.1 var(--font-ui);cursor:pointer}
.orc-seg button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.orc-seg button:focus-visible{outline:3px solid var(--focus,#2a5bd7);outline-offset:1px}
.orc-sec .orc-chat{height:clamp(380px,calc(100dvh - 56px - var(--tab-h,64px) - env(safe-area-inset-bottom) - 24px),720px);border:var(--bw,1px) solid var(--line);border-radius:var(--r-3,16px);background:var(--surface);overflow:hidden}
.orc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}
.orc-item{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:var(--bw,1px) solid var(--line);border-radius:var(--r-2,10px);background:var(--surface)}
.orc-item>button.open{flex:1;min-width:0;min-height:44px;text-align:left;border:0;background:none;color:var(--ink);font:600 .98rem/1.3 var(--font-ui);cursor:pointer;padding:0}
.orc-item small{display:block;margin-top:3px;font:400 var(--t-cap)/1.3 var(--font-ui);color:var(--ink-3)}
.orc-item .txt{flex:1;min-width:0;font:400 .98rem/1.45 var(--font-ui);overflow-wrap:anywhere}
.orc-item textarea{width:100%;min-height:72px;padding:10px 12px;border:var(--bw,1px) solid var(--line-strong);border-radius:var(--r-2,10px);background:var(--surface-2);color:var(--ink);font:inherit}
.orc-topic{display:inline-block;margin-right:6px;padding:2px 8px;border-radius:999px;background:var(--accent-soft,#f6e5d9);color:var(--ink-2);font:700 .6875rem/1.4 var(--font-ui);letter-spacing:.02em}
.orc-themes{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-3) 0}
.orc-empty{padding:var(--s-5) var(--s-4);text-align:center;color:var(--ink-3);font:400 var(--t-small)/1.5 var(--font-ui)}
.orc-add{display:flex;flex-direction:column;gap:var(--s-2);margin:var(--s-4) 0}
.orc-add .orc-row select{min-height:48px;padding:0 10px;border:var(--bw,1px) solid var(--line-strong);border-radius:var(--r-2,10px);background:var(--surface-2);color:var(--ink);font:inherit}
.orc-danger{color:var(--err,#b3261e)}
.orc-btn{min-height:44px;padding:0 var(--s-4);border:var(--bw,1px) solid var(--line-strong);border-radius:var(--r-2,10px);background:var(--surface);color:var(--ink);font:700 var(--t-small)/1 var(--font-ui);cursor:pointer}
.orc-btn:hover{background:var(--surface-2)}
.orc-btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}
.orc-msg{margin:var(--s-2) 0 0;font:400 var(--t-small)/1.4 var(--font-ui);color:var(--ink-3)}

@media(min-width:720px){
  .orc-fab>span:not(.orc-orb){display:inline}
  .orc-fab{right:24px}
  .orc-pop{left:auto;right:24px;bottom:96px;width:392px;height:min(620px,calc(100dvh - 128px));border-bottom:var(--bw,1px) solid var(--line);border-radius:var(--r-4,24px)}
}
@media(min-width:960px){
  .orc-sec .orc-chat{height:clamp(420px,calc(100dvh - 64px),760px)}
  .orc-fab{bottom:24px}
  body:has(.app-shell.has-mini) .orc-fab{bottom:calc(64px + 24px)}
  .orc-pop{bottom:96px}
}

/* ===== v3.10 · visual tecnológico (original): console escuro, vidro, neon e núcleo de energia ===== */
.orc-fab,.orc-pop,.orc-console{
  --surface:rgba(12,19,40,.94);--surface-2:#0e1730;--bg-alt:rgba(20,32,66,.72);--ink:#e9f2ff;--ink-2:#b9cae8;--ink-3:#8a9fc4;
  --line:rgba(110,190,255,.2);--line-strong:rgba(110,190,255,.4);--accent:#5ef2ff;--accent-ink:#04121f;--accent-hover:#8af6ff;--focus:#9cf6ff;
  --err-soft:rgba(255,95,95,.14);--err:#ff9a9a;--accent-soft:rgba(94,242,255,.14);--sage:#7ef0c0;--o-grad:linear-gradient(135deg,#5ef2ff 0%,#8b7bff 100%);--o-glow:0 0 22px rgba(94,242,255,.35)
}
/* núcleo de energia */
.orc-orb{position:relative;display:inline-block;flex:none;width:var(--s,44px);height:var(--s,44px);--s:44px;border-radius:50%;isolation:isolate}
.orc-orb.xs{--s:30px}.orc-orb.sm{--s:34px}.orc-orb.md{--s:42px}.orc-orb.lg{--s:84px}
.orc-orb i{position:absolute;display:block;border-radius:50%}
.orc-orb .o-halo{inset:-30%;background:radial-gradient(circle,rgba(94,242,255,.38),rgba(139,123,255,.16) 45%,transparent 68%);animation:o-pulse 3.2s ease-in-out infinite;z-index:-1}
.orc-orb .o-core{inset:24%;background:radial-gradient(circle at 34% 30%,#fff 0,#b8fbff 14%,#5ef2ff 42%,#6a62f0 78%,#2b2a8f 100%);box-shadow:0 0 12px rgba(94,242,255,.9),inset 0 0 8px rgba(255,255,255,.5);animation:o-breathe 3.2s ease-in-out infinite}
.orc-orb .o-r1,.orc-orb .o-r2{border:1.5px solid transparent}
.orc-orb .o-r1{inset:6%;border-top-color:#5ef2ff;border-right-color:rgba(94,242,255,.28);animation:o-spin 4.2s linear infinite}
.orc-orb .o-r2{inset:-4%;border-bottom-color:#8b7bff;border-left-color:rgba(139,123,255,.25);border-style:solid;animation:o-spin 7s linear infinite reverse}
.orc-orb .o-p{width:12%;height:12%;background:#fff;box-shadow:0 0 6px #5ef2ff,0 0 12px #5ef2ff;top:50%;left:50%;margin:-6% 0 0 -6%}
.orc-orb .o-p1{animation:o-orbit 5s linear infinite}
.orc-orb .o-p2{animation:o-orbit 8s linear infinite reverse;background:#d6d0ff;box-shadow:0 0 6px #8b7bff,0 0 12px #8b7bff}
.orc-orb .o-p3{animation:o-orbit 11s linear infinite;width:9%;height:9%}
.orc-orb.xs .o-r2,.orc-orb.xs .o-p3,.orc-orb.xs .o-p2{display:none}
.orc-orb.think .o-core{animation-duration:.9s}.orc-orb.think .o-halo{animation-duration:1s}.orc-orb.think .o-r1{animation-duration:1.1s}.orc-orb.think .o-r2{animation-duration:1.8s}
@keyframes o-spin{to{transform:rotate(360deg)}}
@keyframes o-orbit{from{transform:rotate(0) translateX(calc(var(--s,44px)*.52)) rotate(0)}to{transform:rotate(360deg) translateX(calc(var(--s,44px)*.52)) rotate(-360deg)}}
@keyframes o-pulse{0%,100%{opacity:.7;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes o-breathe{0%,100%{transform:scale(.92)}50%{transform:scale(1.06)}}

/* botão do canto */
.orc-fab{background:linear-gradient(135deg,#0f1b3d,#1a1450);color:#e9f2ff;border:1px solid rgba(94,242,255,.55);box-shadow:0 0 0 1px rgba(139,123,255,.25),0 10px 30px rgba(8,12,40,.55),var(--o-glow);padding:0 16px 0 10px;gap:10px;overflow:visible}
.orc-fab:hover{background:linear-gradient(135deg,#13234d,#241a68);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(139,123,255,.4),0 14px 36px rgba(8,12,40,.6),0 0 30px rgba(94,242,255,.5)}
.orc-fab .orc-orb{--s:36px}
.orc-fab::after{content:"";position:absolute;inset:-5px;border-radius:999px;border:1px solid rgba(94,242,255,.35);animation:o-ping 2.8s ease-out infinite;pointer-events:none}
@keyframes o-ping{0%{transform:scale(.96);opacity:.9}100%{transform:scale(1.18,1.4);opacity:0}}

/* janela rápida e console: vidro escuro com grade sutil */
.orc-pop,.orc-console{position:relative;background:radial-gradient(120% 80% at 85% -10%,rgba(139,123,255,.2),transparent 55%),radial-gradient(90% 70% at -10% 110%,rgba(94,242,255,.14),transparent 55%),linear-gradient(180deg,#0b1229,#070b1b);color:var(--ink);border:1px solid rgba(94,242,255,.28)}
.orc-pop::before,.orc-console::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(94,242,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(94,242,255,.045) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%)}
.orc-pop>*,.orc-console>*{position:relative}
.orc-pop{box-shadow:0 0 0 1px rgba(139,123,255,.18),0 24px 60px rgba(4,6,24,.65),0 0 40px rgba(94,242,255,.12)}
.orc-console{border-radius:var(--r-4,24px);padding:var(--s-4);overflow:hidden;box-shadow:0 0 0 1px rgba(139,123,255,.15),0 20px 50px rgba(4,6,24,.35)}
.orc-head{background:linear-gradient(90deg,rgba(94,242,255,.1),rgba(139,123,255,.08));border-bottom:1px solid rgba(94,242,255,.22);gap:var(--s-3)}
.orc-head .orc-orb{--s:40px}
.orc-head h2{color:#e9f2ff;letter-spacing:.01em}
.orc-head h2 small{color:#8fe9ff;text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem;font-weight:700}
.orc-head h2 small:not(:empty)::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#59f5b0;box-shadow:0 0 8px #59f5b0;vertical-align:1px}
.orc-ibtn{color:var(--ink-2)}.orc-ibtn:hover{background:rgba(94,242,255,.1);color:#fff}

/* cabeçalho da seção */
.orc-hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);margin:0 0 var(--s-4);padding:0}
.orc-hero .orc-orb{--s:84px;margin:6px}
.orc-hero-t{flex:1;min-width:200px}
.orc-hero .eyebrow{margin:0 0 4px;color:#8fe9ff;letter-spacing:.14em}
.orc-hero h1{margin:0 0 var(--s-2);color:#fff;font-size:clamp(1.6rem,4.6vw,2.1rem);background:var(--o-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.orc-hero .sub{flex-basis:100%;margin:0;color:var(--ink-2);max-width:62ch}
.orc-huds{display:flex;flex-wrap:wrap;gap:6px}
.orc-hud{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(89,245,176,.5);background:rgba(89,245,176,.1);color:#8dfbc9;font:700 .6875rem/1 var(--font-ui);letter-spacing:.08em}
.orc-hud i{width:6px;height:6px;border-radius:50%;background:#59f5b0;box-shadow:0 0 8px #59f5b0;animation:o-pulse 2s ease-in-out infinite}
.orc-hud.alt{border-color:rgba(94,242,255,.35);background:rgba(94,242,255,.08);color:#a8efff;letter-spacing:.03em;font-weight:600}
.orc-seg{background:rgba(8,14,34,.7);border-color:rgba(94,242,255,.22)}
.orc-seg button{color:var(--ink-2)}
.orc-seg button[aria-selected=true]{background:linear-gradient(135deg,rgba(94,242,255,.22),rgba(139,123,255,.28));color:#fff;box-shadow:inset 0 0 0 1px rgba(94,242,255,.55),0 0 18px rgba(94,242,255,.2)}
.orc-sec .orc-chat{background:rgba(6,10,26,.55);border:1px solid rgba(94,242,255,.2);backdrop-filter:blur(6px)}

/* mensagens */
.orc-m{display:flex;gap:10px;align-items:flex-start;align-self:flex-start;max-width:94%}
.orc-m .orc-orb{margin-top:4px}
.orc-b{font-size:.96rem}
.orc-m .orc-b.a{max-width:none}
.orc-b.a{background:linear-gradient(180deg,rgba(24,38,78,.8),rgba(16,26,56,.8));border:1px solid rgba(94,242,255,.22);color:#e9f2ff;box-shadow:0 0 18px rgba(94,242,255,.06)}
.orc-b.u{background:var(--o-grad);color:#04121f;font-weight:500;border:0;box-shadow:0 6px 20px rgba(94,242,255,.2)}
.orc-b.a.err{background:var(--err-soft);border-color:rgba(255,120,120,.4)}
.orc-b.a.fresh::after{content:"";display:inline-block;width:7px;height:1.05em;margin-left:3px;vertical-align:-2px;background:#5ef2ff;box-shadow:0 0 8px #5ef2ff;animation:o-blink .8s steps(2) infinite}
@keyframes o-blink{50%{opacity:0}}
.orc-think{display:flex;align-items:center;gap:10px}
.orc-scan{font:600 .8125rem/1.2 var(--font-ui);letter-spacing:.04em;background:linear-gradient(90deg,#6c86ad 20%,#9ff6ff 50%,#6c86ad 80%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:o-shimmer 1.6s linear infinite}
@keyframes o-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.orc-dots i{background:#5ef2ff;box-shadow:0 0 8px #5ef2ff}
.orc-consent{background:rgba(94,242,255,.06);border-left:3px solid #5ef2ff;color:var(--ink-2)}
.orc-note{color:#8dfbc9}
.orc-chip{background:rgba(94,242,255,.06);border-color:rgba(94,242,255,.35);color:#c9f7ff}
.orc-chip:hover{background:rgba(94,242,255,.16);color:#fff;box-shadow:0 0 14px rgba(94,242,255,.25)}
.orc-form{background:rgba(6,10,26,.8);border-top-color:rgba(94,242,255,.22)}
.orc-row textarea,.orc-add .orc-row select,.orc-item textarea,.orc-add textarea{background:rgba(14,23,48,.9);border-color:rgba(94,242,255,.3);color:#e9f2ff}
.orc-row textarea::placeholder{color:#6f86ad}
.orc-row textarea:focus-visible{outline:none;border-color:#5ef2ff;box-shadow:0 0 0 3px rgba(94,242,255,.25),0 0 18px rgba(94,242,255,.2)}
.orc-send{background:var(--o-grad);color:#04121f;box-shadow:0 0 16px rgba(94,242,255,.4)}
.orc-send:not(:disabled):hover{filter:brightness(1.1);transform:scale(1.05)}
.orc-ck{color:#e9f2ff}
.orc-item{background:rgba(14,23,48,.75);border-color:rgba(94,242,255,.22)}
.orc-btn{background:rgba(94,242,255,.08);border-color:rgba(94,242,255,.4);color:#e9f2ff}
.orc-btn.primary{background:var(--o-grad);color:#04121f;border:0}
.orc-topic{background:rgba(139,123,255,.2);color:#cfc8ff}
.orc-link{color:#8fe9ff}
.orc-danger{color:#ff9a9a}
.lead-s{color:var(--ink-2)}
@media(prefers-reduced-motion:reduce){.orc-orb i,.orc-fab::after,.orc-hud i,.orc-scan,.orc-b.a.fresh::after{animation:none!important}}
@media(max-width:719px){.orc-pop{border-radius:22px 22px 0 0}.orc-console{padding:var(--s-3)}.orc-hero .orc-orb{--s:64px}}
.orc-console .orc-hero{background:none;border:0;box-shadow:none;border-radius:0;min-height:0;padding:var(--s-2) var(--s-2) 0;overflow:visible}
.orc-console .orc-hero::before,.orc-console .orc-hero::after{display:none}
.orc-hero .orc-orb{margin:12px}
.orc-head h2 small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
.orc-head .orc-ibtn[data-orc=full]{padding:0 6px;font-size:.78rem}
@media(max-width:719px){.orc-head{padding-left:var(--s-3)}.orc-head h2{font-size:.95rem}}
@media(max-width:719px){.orc-hero{gap:var(--s-2)}.orc-hero .orc-orb{--s:52px;margin:8px}.orc-hero-t{min-width:140px}.orc-hero h1{font-size:1.5rem}.orc-hero .sub{font-size:.875rem;line-height:1.45}}
/* a janela rápida é fixa no canto (a regra do console escuro não pode torná-la relativa) */
.orc-pop{position:fixed}

/* ===== Portais (v3.11): hub, portais temáticos e mesa de cartas. Vive dentro do .orc-console (escuro, neon). ===== */
.por-console{padding-bottom:var(--s-5)}
.por-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);margin-top:var(--s-4)}
@media(min-width:760px){.por-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.por-tile{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:var(--s-4);border-radius:var(--r-3,16px);text-decoration:none;color:var(--ink);background:linear-gradient(160deg,rgba(139,123,255,.16),rgba(94,242,255,.06) 60%,rgba(8,12,30,.5));border:1px solid rgba(94,242,255,.22);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;animation:por-in .5s both;animation-delay:calc(var(--i,0)*60ms)}
.por-tile::after{content:"";position:absolute;inset:auto -30% -50% auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(94,242,255,.28),transparent 65%);opacity:.5;transition:opacity .25s}
.por-tile:hover{transform:translateY(-3px);border-color:rgba(94,242,255,.6);box-shadow:0 10px 30px rgba(94,242,255,.16)}
.por-tile:hover::after{opacity:1}
.por-tile:focus-visible,.por-back:focus-visible{outline:3px solid #5ef2ff;outline-offset:2px}
@keyframes por-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.por-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#5ef2ff;background:rgba(94,242,255,.1);border:1px solid rgba(94,242,255,.35);box-shadow:0 0 18px rgba(94,242,255,.2) inset}
.por-ico.lg{width:52px;height:52px;flex:none}
.por-g{width:26px;height:26px}
.por-name{font:700 1.05rem/1.2 var(--font-ui);margin-top:auto}
.por-tag{font:400 var(--t-cap)/1.35 var(--font-ui);color:var(--ink-2)}
.por-go{position:absolute;top:var(--s-3);right:var(--s-3);color:#5ef2ff;opacity:.6;font-weight:700}
.por-foot{margin:var(--s-4) 0 0;font:400 var(--t-cap)/1.5 var(--font-ui);color:var(--ink-3)}
.por-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-3)}
.por-back{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:#5ef2ff;font:700 var(--t-small)/1 var(--font-ui);text-decoration:none}
.por-back:hover{text-decoration:underline}
.por-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}
.por-head .orc-orb{display:none}
.por-head h1{margin:0;font:700 1.5rem/1.15 var(--font-display,var(--font-ui))}
.por-head p{margin:2px 0 0;color:var(--ink-2);font:400 var(--t-small)/1.4 var(--font-ui)}
.por-hist{margin-top:var(--s-4);border-top:1px solid rgba(94,242,255,.2);padding-top:var(--s-3)}
.por-hist summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:700 var(--t-small)/1 var(--font-ui);color:var(--ink-2)}
/* mesa de cartas */
.por-spread{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);max-width:520px;margin:0 auto var(--s-3);perspective:900px}
.por-card{position:relative;aspect-ratio:3/4.6;display:flex;flex-direction:column;align-items:center}
.por-card.back,.por-inner{border-radius:12px}
.por-card.back{border:1px solid rgba(94,242,255,.4);background:linear-gradient(160deg,#18214a,#0a1030);box-shadow:0 0 22px rgba(139,123,255,.25);animation:por-float 4s ease-in-out infinite;animation-delay:calc(var(--d,0)*.3s)}
.por-card.back.shuffle{animation:por-shuffle .7s ease-in-out infinite;animation-delay:calc(var(--d,0)*.12s)}
@keyframes por-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes por-shuffle{0%,100%{transform:translateX(0) rotate(0)}30%{transform:translateX(calc((var(--d,0) - 1)*-14px)) rotate(calc((var(--d,0) - 1)*-6deg))}70%{transform:translateX(calc((var(--d,0) - 1)*14px)) rotate(calc((var(--d,0) - 1)*6deg))}}
.por-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center}
.por-ring{position:absolute;width:56%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(94,242,255,.55);box-shadow:0 0 14px rgba(94,242,255,.35)}
.por-ring.r2{width:34%;border-color:rgba(139,123,255,.8);animation:por-spin 8s linear infinite;border-style:dashed}
.por-dot{width:8px;height:8px;border-radius:50%;background:#5ef2ff;box-shadow:0 0 12px #5ef2ff}
@keyframes por-spin{to{transform:rotate(360deg)}}
.por-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.por-card .front{background:linear-gradient(160deg,#1b2658,#0c1236);border:1px solid rgba(94,242,255,.55);box-shadow:0 0 24px rgba(94,242,255,.22);color:#eaf6ff}
.por-card .bk{background:linear-gradient(160deg,#18214a,#0a1030);border:1px solid rgba(94,242,255,.4);transform:rotateY(180deg)}
.por-card.open .por-inner{transform:none}
.por-card.rev.open .front{transform:rotate(180deg)}
.por-card.flip .por-inner{animation:por-flip .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d,0)*.35s + .1s)}
.por-card.flip.rev .front{transform:rotate(180deg)}
@keyframes por-flip{from{transform:rotateY(180deg)}to{transform:rotateY(0)}}
.por-card:not(.open):not(.flip):not(.back) .por-inner{transform:rotateY(180deg)}
.por-num{font:700 1.5rem/1 var(--font-display,var(--font-ui));color:#5ef2ff;text-shadow:0 0 12px rgba(94,242,255,.6)}
.por-name2{font:700 .82rem/1.2 var(--font-ui)}
.por-keys{font:400 .66rem/1.3 var(--font-ui);color:rgba(234,246,255,.7)}
.por-pos{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);width:130%;text-align:center;font:600 .68rem/1.25 var(--font-ui);color:var(--ink-2)}
.por-spread:has(.por-card:not(.back)){margin-bottom:calc(var(--s-5) + 14px)}
.por-hint{text-align:center;margin:0 0 var(--s-3);color:var(--ink-2);font:400 var(--t-small)/1.4 var(--font-ui)}
@media(max-width:420px){.por-name2{font-size:.72rem}.por-keys{display:none}.por-pos{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.por-tile,.por-card.back,.por-card.back.shuffle,.por-ring.r2,.por-card.flip .por-inner{animation:none}.por-card.flip .por-inner{transform:none}.por-inner{transition:none}}
.por-sec .orc-chat{height:clamp(340px,58dvh,560px)}
@media(min-width:900px){.por-sec .orc-chat{height:clamp(360px,52dvh,520px)}}
.por-console h1:focus,.por-console h1:focus-visible{outline:none}
.por-console{min-height:0}
.por-pos{width:108%;bottom:-38px}
.por-spread:has(.por-card:not(.back)){margin-bottom:calc(var(--s-5) + 26px)}
@media(max-width:480px){.por-spread{gap:8px}.por-pos{width:112%;font-size:.6rem;bottom:-40px}}

/* ===== Portais · visual «místico» (v3.12): violeta e magenta, moldura rosada, cartões creme com arte em traço e coruja estelar (tudo original) ===== */
.por-sec .por-console{--pm-ink:#4a1620;position:relative;padding:var(--s-5) var(--s-4) var(--s-5);border:3px solid #ff9db5;border-radius:22px;background:radial-gradient(120% 60% at 50% -8%,rgba(168,85,247,.5),transparent 62%),radial-gradient(90% 60% at 50% 115%,rgba(236,72,153,.28),transparent 60%),linear-gradient(180deg,#2d0a52,#14042c);box-shadow:0 0 0 1px rgba(255,217,201,.5),0 0 44px rgba(255,92,138,.28),0 24px 60px rgba(10,2,30,.5)}
.por-sec .por-console::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;mask-image:none;-webkit-mask-image:none;background:repeating-radial-gradient(circle at 50% 46%,transparent 0 78px,rgba(255,255,255,.055) 79px 80px),conic-gradient(from 0deg at 50% 46%,rgba(255,255,255,.035) 0 1deg,transparent 1deg 30deg);background-size:auto,auto}
.por-sec .por-console>*{position:relative}
.por-sec .eyebrow{color:#ffc2d6;letter-spacing:.12em}
.por-hero{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:var(--s-3);align-items:center;margin-bottom:var(--s-4)}
.por-title{margin:2px 0 var(--s-2);font:700 clamp(1.7rem,6vw,2.6rem)/1.08 var(--font-display,var(--font-ui));background:linear-gradient(90deg,#fff,#ffd9a8 60%,#ffb627);-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.por-lead{margin:0 0 var(--s-3);color:#f1dcff;font:400 1rem/1.55 var(--font-ui);max-width:46ch}
.por-mascot{position:relative;justify-self:center;width:150px}
.por-owl{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4));animation:por-bob 4.5s ease-in-out infinite}
@keyframes por-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.por-sp{position:absolute;width:12px;height:12px;background:#fde047;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:por-tw 2.4s ease-in-out infinite}
.por-sp.s1{top:2%;left:4%}.por-sp.s2{top:30%;right:-4%;width:9px;height:9px;animation-delay:.8s}.por-sp.s3{bottom:18%;left:-6%;width:8px;height:8px;animation-delay:1.5s}
@keyframes por-tw{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
.por-ask{margin:var(--s-4) 0 var(--s-3);text-align:center;font:800 clamp(1.25rem,4.4vw,1.7rem)/1.2 var(--font-ui);color:#ffb627}
.por-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:0 auto}
@media(min-width:760px){.por-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.por-sec .por-tile{align-items:center;justify-content:center;text-align:center;gap:8px;min-height:176px;padding:18px 12px 16px;color:var(--pm-ink);background:linear-gradient(180deg,#ffe9de,#ffcbc0);border:0;border-bottom:6px solid #c98f94;border-radius:8px;box-shadow:0 8px 20px rgba(10,2,30,.35)}
.por-sec .por-tile::after{display:none}
.por-sec .por-tile:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(255,92,138,.35);border-color:#c98f94}
.por-art{width:76px;height:76px;color:#6b2121;flex:none}
.por-sec .por-name{margin:0;font:800 1.02rem/1.2 var(--font-ui);color:var(--pm-ink)}
.por-sec .por-tag{font:500 .76rem/1.3 var(--font-ui);color:#7a3b44}
.por-sec .por-foot{text-align:center;color:#d9bdf0}
/* topo do portal e conversa */
.por-bar{display:flex;align-items:center;gap:var(--s-3);margin:calc(var(--s-5) * -1) calc(var(--s-4) * -1) var(--s-4);padding:var(--s-3) var(--s-4);background:linear-gradient(180deg,#7e1fb0,#5b0f8e);border-radius:19px 19px 0 0;border-bottom:1px solid rgba(255,255,255,.18)}
.por-bar .por-back{min-width:40px;justify-content:center;color:#fff;font-size:1.2rem}
.por-av{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#ffd166;border:2px solid #fff;overflow:hidden;flex:none}
.por-av .por-face-av{width:96%;height:auto;margin-top:6px}
.por-bar-t{flex:1;min-width:0}
.por-bar-t h1{display:flex;align-items:center;gap:8px;margin:0;font:800 1.15rem/1.2 var(--font-ui);color:#fff}
.por-bar-t p{margin:2px 0 0;color:#f3d9ff;font:400 .85rem/1.3 var(--font-ui)}
.por-on{width:11px;height:11px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e}
.por-bar .orc-btn{flex:none;background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35)}
.por-sec .orc-chat{background:rgba(20,4,44,.55);border:1px solid rgba(255,157,181,.35);backdrop-filter:none}
.por-sec .orc-b.a{background:#fff;color:#2b1245;border:0;box-shadow:0 4px 14px rgba(10,2,30,.28)}
.por-sec .orc-b.a p,.por-sec .orc-b.a li,.por-sec .orc-b.a strong{color:#2b1245}
.por-who{display:block;margin-bottom:4px;color:#7e1fb0;font:800 .95rem/1.2 var(--font-ui)}
.por-sec .orc-b.u{background:linear-gradient(135deg,#d946ef,#ec4899);color:#fff;box-shadow:0 4px 14px rgba(236,72,153,.35)}
.por-sec .orc-b.u p{color:#fff}
.por-sec .orc-b.err{background:#fee2e2}
.por-m.orc-m{align-items:flex-end}
.por-m .por-face-av{width:40px;height:32px;flex:none;border-radius:50%;background:#ffd166;border:2px solid #fff;padding:2px 2px 0;box-sizing:content-box;overflow:hidden}
.por-sec .orc-think{background:#fff}
.por-sec .orc-dots i{background:#7e1fb0}.por-sec .orc-scan{color:#7e1fb0}
.por-sec .orc-form{background:linear-gradient(180deg,#6d12a0,#560c86);border-top:1px solid rgba(255,255,255,.2)}
.por-sec .orc-row textarea{background:#fff;color:#2b1245;border:0;border-radius:10px}
.por-sec .orc-row textarea::placeholder{color:#8b6fa6}
.por-sec .orc-send{background:linear-gradient(180deg,#22c55e,#15803d);color:#fff;box-shadow:0 0 14px rgba(34,197,94,.45)}
.por-sec .orc-meta{color:#e9c9ff}
.por-sec .orc-chip{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.por-sec .orc-chip:hover{background:rgba(255,255,255,.22)}
.por-sec .orc-ck{color:#fff}
.por-hist summary{color:#f1dcff}
@media(max-width:560px){.por-hero{grid-template-columns:minmax(0,1fr) 96px}.por-mascot{width:96px}.por-lead{font-size:.9rem}.por-art{width:64px;height:64px}.por-sec .por-tile{min-height:156px}}
/* mesa de cartas: costas magenta com estrela de oito pontas; frente creme com moldura dourada */
.por-card.back,.por-card .bk{background:linear-gradient(160deg,#b0125f,#5d0b4a);border:1px solid #ff8fb8;box-shadow:0 6px 18px rgba(10,2,30,.45),0 0 18px rgba(236,72,153,.3)}
.por-card .por-face{border-radius:8px}
.por-card.back,.por-inner{border-radius:8px}
.por-face::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,190,215,.55);border-radius:5px;pointer-events:none}
.por-ring{display:none}
.por-dot{width:44%;aspect-ratio:1;height:auto;border-radius:0;background:linear-gradient(135deg,#ffd1e3,#ff7ab0);box-shadow:none;filter:drop-shadow(0 0 8px rgba(255,160,200,.7));clip-path:polygon(50% 0,59% 30%,85% 15%,70% 41%,100% 50%,70% 59%,85% 85%,59% 70%,50% 100%,41% 70%,15% 85%,30% 59%,0 50%,30% 41%,15% 15%,41% 30%)}
.por-card .front{background:linear-gradient(180deg,#fff1e6,#ffd9c9);border:2px solid #f5b35a;color:#4a1620;box-shadow:0 8px 22px rgba(10,2,30,.5),0 0 18px rgba(255,182,39,.3)}
.por-card .front::after{border-color:rgba(122,59,68,.4)}
.por-num{color:#7e1fb0;text-shadow:none}
.por-name2{color:#4a1620}
.por-keys{color:#7a3b44}
.por-pos{color:#ffd9ec}
.por-hint{color:#f1dcff}

/* ===== Oráculo · visual místico (v3.13): mesma pele dos Portais, com a coruja estelar. Só troca cores e avatar; a lógica não muda. ===== */
.orc-fab,.orc-pop,.orc-console{
  --surface:rgba(34,9,66,.96);--surface-2:#3a1270;--bg-alt:rgba(80,24,130,.55);--ink:#fff;--ink-2:#f0dcff;--ink-3:#cdaeee;
  --line:rgba(255,157,181,.28);--line-strong:rgba(255,157,181,.5);--accent:#ff7ab0;--accent-ink:#2b0a45;--accent-hover:#ff9cc4;--focus:#ffd166;
  --accent-soft:rgba(255,122,176,.16);--sage:#8dfbc9;--o-grad:linear-gradient(135deg,#d946ef 0%,#ec4899 100%);--o-glow:0 0 22px rgba(236,72,153,.45)
}
/* avatar: a coruja no lugar do núcleo */
.orc-orb{display:inline-grid;place-items:end center;background:#ffd166;border:2px solid #fff;overflow:hidden;box-shadow:0 2px 8px rgba(10,2,30,.4)}
.orc-orb .por-face-av{width:100%;height:auto;margin:0;padding:0;border:0;background:none;display:block;margin-top:3px}
.orc-orb.think{animation:por-bob .8s ease-in-out infinite}
.orc-m .por-face-av{border-radius:0;background:none;padding:0;border:0;width:100%}
/* botão do canto e janela rápida */
.orc-fab{background:linear-gradient(135deg,#7e1fb0,#c2185b);border:2px solid #ffd9c9;box-shadow:0 10px 28px rgba(60,10,90,.55),0 0 24px rgba(236,72,153,.5)}
.orc-fab:hover{background:linear-gradient(135deg,#9227c9,#d81b6e);box-shadow:0 14px 34px rgba(60,10,90,.6),0 0 32px rgba(236,72,153,.7)}
.orc-fab::after{border-color:rgba(255,157,181,.55)}
.orc-fab .orc-orb{--s:38px}
.orc-pop.por-sec{background:radial-gradient(120% 60% at 50% -8%,rgba(168,85,247,.5),transparent 62%),radial-gradient(90% 60% at 50% 115%,rgba(236,72,153,.28),transparent 60%),linear-gradient(180deg,#2d0a52,#14042c);border:3px solid #ff9db5;border-bottom:0;box-shadow:0 0 0 1px rgba(255,217,201,.5),0 0 44px rgba(255,92,138,.3),0 24px 60px rgba(10,2,30,.6)}
.orc-pop.por-sec::before{background:repeating-radial-gradient(circle at 50% 40%,transparent 0 70px,rgba(255,255,255,.05) 71px 72px);mask-image:none;-webkit-mask-image:none}
@media(min-width:720px){.orc-pop.por-sec{border-bottom:3px solid #ff9db5}}
.orc-pop .orc-head{background:linear-gradient(180deg,#7e1fb0,#5b0f8e);border-bottom:1px solid rgba(255,255,255,.2)}
.orc-pop .orc-head h2{color:#fff}
.orc-pop .orc-head h2 small{color:#ffd9ec}
.orc-pop .orc-head .orc-orb{--s:42px}
.orc-ibtn{color:#fff}.orc-ibtn:hover{background:rgba(255,255,255,.16);color:#fff}
.orc-pop .orc-chat,.orc-pop.por-sec .orc-chat{height:auto;background:none;border:0}
/* cabeçalho da seção Oráculo */
.orc-hero .por-title{background:linear-gradient(90deg,#fff,#ffd9a8 60%,#ffb627);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.orc-hero .eyebrow{color:#ffc2d6}
.orc-hero .por-lead{color:#f1dcff}
.orc-console .orc-hero{padding:0}
.orc-seg{background:rgba(24,5,48,.7);border-color:rgba(255,157,181,.3)}
.orc-seg button{color:#f0dcff}
.orc-seg button[aria-selected=true]{background:linear-gradient(135deg,#d946ef,#ec4899);color:#fff;box-shadow:0 0 18px rgba(236,72,153,.4)}
/* listas, notas e botões */
.orc-consent{background:rgba(255,255,255,.08);border-left-color:#ff7ab0;color:#f0dcff}
.orc-note{color:#8dfbc9}
.orc-item{background:rgba(255,255,255,.08);border-color:rgba(255,157,181,.3)}
.orc-btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff}
.orc-btn.primary{background:var(--o-grad);color:#fff}
.orc-topic{background:rgba(255,209,102,.2);color:#ffe29a}
.orc-link{color:#ffd166}
.orc-row select,.orc-add .orc-row select,.orc-item textarea,.orc-add textarea{background:#fff;color:#2b1245;border-color:transparent}
.orc-b.a.fresh::after{background:#ec4899;box-shadow:0 0 8px #ec4899}
.orc-hud{border-color:rgba(141,251,201,.55)}
.orc-hud.alt{border-color:rgba(255,194,214,.5);background:rgba(255,255,255,.08);color:#ffe3ee}
