/* Oiada Assistant */
.oc{--oc-gold:#d4a537;--oc-hi:#f1d68c;--oc-ink:#0c0b09;--oc-ink2:#16130e;--oc-line:#3a3324;position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);z-index:900;font-family:var(--font-body,'Satoshi',Arial,sans-serif)}
.oc-launch{position:relative;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#2a2416,#0c0b09 70%);border:2px solid var(--oc-gold);box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 4px rgba(212,165,55,.15);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.oc-launch:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 14px 34px rgba(0,0,0,.5),0 0 0 6px rgba(212,165,55,.22)}
.oc-launch img{width:50px;height:50px;border-radius:50%;object-fit:contain}
.oc-launch__ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--oc-gold);opacity:0;animation:ocPulse 2.6s ease-out infinite}
@keyframes ocPulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.oc-launch__dot{position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:#2fbf71;border:2px solid var(--oc-ink)}
.oc-launch__tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(8px);white-space:nowrap;background:var(--oc-gold);color:#1a1408;font-weight:700;font-size:.9rem;padding:.55rem .9rem;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
.oc.show-tip:not(.is-open) .oc-launch__tip,.oc-launch:hover .oc-launch__tip{opacity:1;transform:translateY(-50%)}
.oc.is-open .oc-launch__ring,.oc.is-open .oc-launch__dot{display:none}

.oc-panel{position:absolute;right:0;bottom:82px;width:min(390px,calc(100vw - 28px));height:min(600px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--oc-ink2);border:1px solid var(--oc-line);border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55);opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;pointer-events:none;transition:opacity .28s,transform .28s cubic-bezier(.2,.7,.2,1)}
.oc.is-open .oc-panel{opacity:1;transform:none;pointer-events:auto}
.oc-head{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;background:linear-gradient(120deg,#1d180e,#0c0b09);border-bottom:1px solid var(--oc-line);position:relative}
.oc-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:repeating-linear-gradient(90deg,#d4a537 0 22px,#1f7a4a 22px 30px,#b5382a 30px 36px,#f1d68c 36px 42px)}
.oc-head img{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#000;border:1px solid var(--oc-gold)}
.oc-head div{flex:1;display:flex;flex-direction:column;line-height:1.2}
.oc-head strong{font-family:var(--font-display,Georgia,serif);color:var(--oc-hi);font-size:1.08rem;font-weight:600}
.oc-head small{color:#b3a98f;font-size:.78rem;display:flex;align-items:center;gap:.35rem;margin-top:2px}
.oc-head small i{width:8px;height:8px;border-radius:50%;background:#2fbf71;display:inline-block}
.oc-x{color:#d9cfb8;width:36px;height:36px;border-radius:50%;display:grid;place-items:center}
.oc-x:hover{background:rgba(255,255,255,.08);color:#fff}

.oc-log{flex:1;overflow-y:auto;padding:1rem .9rem .5rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth;background:radial-gradient(ellipse at top,rgba(212,165,55,.06),transparent 60%)}
.oc-msg{display:flex;gap:.5rem;align-items:flex-end;animation:ocIn .3s cubic-bezier(.2,.7,.2,1)}
@keyframes ocIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.oc-av{width:28px;height:28px;border-radius:50%;object-fit:contain;background:#000;border:1px solid var(--oc-line);flex:none}
.oc-bub{max-width:84%;padding:.7rem .9rem;border-radius:16px;font-size:.93rem;line-height:1.5;color:#efe8d8;background:#221e16;border:1px solid #2f2a1f;border-bottom-left-radius:5px}
.oc-bub b{color:var(--oc-hi);font-weight:700}
.oc-bub ul{margin:.4rem 0 0;padding-left:1.1rem}
.oc-bub li{margin:.2rem 0}
.oc-msg--user{justify-content:flex-end}
.oc-msg--user .oc-bub{background:linear-gradient(120deg,#c99a2e,#e6c56e);color:#1a1408;border:0;border-radius:16px;border-bottom-right-radius:5px;font-weight:500}
.oc-acts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}
.oc-act{font-size:.8rem;font-weight:700;text-decoration:none;color:var(--oc-hi);border:1px solid rgba(212,165,55,.55);padding:.35rem .7rem;border-radius:999px;transition:background .2s,color .2s}
.oc-act:hover{background:var(--oc-gold);color:#1a1408}
.oc-typing .oc-bub{display:flex;gap:5px;padding:.85rem 1rem}
.oc-typing span{width:7px;height:7px;border-radius:50%;background:var(--oc-gold);animation:ocDot 1s infinite ease-in-out}
.oc-typing span:nth-child(2){animation-delay:.15s}.oc-typing span:nth-child(3){animation-delay:.3s}
@keyframes ocDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}

.oc-sugg{display:flex;gap:.45rem;padding:.2rem .9rem .6rem;overflow-x:auto;scrollbar-width:none;flex:none}
.oc-sugg::-webkit-scrollbar{display:none}
.oc-sugg:empty{padding:0}
.oc-chip{flex:none;font-size:.82rem;color:#efe8d8;background:#1b1812;border:1px solid var(--oc-line);padding:.45rem .8rem;border-radius:999px;white-space:nowrap;transition:border-color .2s,color .2s}
.oc-chip:hover{border-color:var(--oc-gold);color:var(--oc-hi)}
.oc-form{display:flex;gap:.5rem;padding:.7rem .8rem;border-top:1px solid var(--oc-line);background:#110f0b;flex:none}
.oc-form input{flex:1;min-width:0;background:#1d1a14;border:1px solid var(--oc-line);color:#f3ede0;border-radius:999px;padding:.7rem 1rem;font:inherit;font-size:16px;outline:none}
.oc-form input:focus{border-color:var(--oc-gold)}
.oc-form input::placeholder{color:#8a8068}
.oc-form button{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--oc-gold);color:#1a1408;transition:background .2s}
.oc-form button:hover{background:var(--oc-hi)}

@media (max-width:639px){
  .oc-panel{position:fixed;inset:auto 8px 8px 8px;width:auto;height:min(78vh,640px);bottom:84px}
  .oc-launch{width:58px;height:58px}.oc-launch img{width:44px;height:44px}
  .oc-launch__tip{display:none}
}
@media (prefers-reduced-motion:reduce){.oc-launch__ring{animation:none}.oc-msg{animation:none}}
