*{box-sizing:border-box;margin:0;padding:0}
:root{--g:#d4af37;--g2:#f0d36b;--ink:#f3efe4;--mut:#a89e82;--dim:#7d7458;--line:rgba(212,175,55,.18);--pnl:rgba(18,16,11,.88)}
html,body{height:100%}body{font-family:Manrope,system-ui,sans-serif;background:#070707;color:var(--ink)}
#bg{position:fixed;inset:0;z-index:-1;opacity:.6}
a{color:var(--g)}.dim{color:var(--dim);font-size:12px}
.brand{display:flex;align-items:center;gap:9px}.brand b{font-size:18px;font-weight:800;background:linear-gradient(90deg,#f7e08a,#d4af37);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{color:var(--mut);font-size:11px;letter-spacing:1px;text-transform:uppercase}
.mk{width:26px;height:26px;border-radius:8px;background:conic-gradient(from 210deg,#f7e08a,#b8912e,#6d5616,#f0d36b,#f7e08a);box-shadow:0 0 18px rgba(212,175,55,.35)}
.btn{display:inline-block;background:linear-gradient(180deg,#f0d36b,#c9a13c);color:#141004;border:0;border-radius:10px;padding:10px 16px;font:800 14px Manrope,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:disabled{opacity:.5}.btn.o{background:none;color:var(--g);border:1px solid rgba(212,175,55,.4)}.btn.sm{padding:7px 12px;font-size:12.5px}
/* landing */
.land{max-width:900px;margin:0 auto;padding:40px 18px 60px}
.land h1{font-size:clamp(30px,5vw,48px);line-height:1.1;margin:26px 0 14px}.land h1 span{color:var(--g2)}
.lede{color:#cfc6ad;font-size:17px;line-height:1.6;max-width:62ch}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:26px 0}
.feat div{background:var(--pnl);border:1px solid var(--line);border-radius:14px;padding:16px}.feat b{display:block;margin-bottom:4px}.feat span{color:var(--mut);font-size:13.5px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}
.plan{display:block;text-decoration:none;color:var(--ink);background:var(--pnl);border:1px solid var(--line);border-radius:14px;padding:18px}
.plan.hi{border-color:var(--g);box-shadow:0 0 30px rgba(212,175,55,.15)}.plan h3{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--g)}
.plan .pr{font-size:30px;font-weight:800;color:var(--g2);margin:6px 0}.plan p{color:var(--mut);font-size:13px}
a.plan:hover{border-color:var(--g2)}
.note{color:var(--mut);font-size:13px;line-height:1.6;margin:10px 0}
.cta{display:inline-block;margin-top:16px;background:linear-gradient(180deg,#f0d36b,#c9a13c);color:#141004;font-weight:800;border-radius:12px;padding:14px 22px;text-decoration:none}
.small{margin-top:16px;font-size:13px;color:var(--dim)}
/* app */
.app{display:grid;grid-template-columns:270px 1fr;height:100vh}
.side{background:rgba(10,9,6,.92);border-right:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}
.side .lbl{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
#convs{list-style:none;overflow:auto;flex:1;min-height:0}
#convs li{position:relative;padding:9px 30px 9px 10px;border-radius:9px;cursor:pointer;font-size:13.5px;border:1px solid transparent}
#convs li:hover,#convs li.on{background:rgba(212,175,55,.08);border-color:var(--line)}#convs li small{display:block;color:var(--dim);font-size:11px}
#convs li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#convs li button{position:absolute;right:6px;top:8px;background:none;border:0;color:var(--dim);cursor:pointer;font-size:16px}
.meter{border:1px solid var(--line);border-radius:12px;padding:11px;font-size:12.5px}.mh{display:flex;justify-content:space-between;margin-bottom:7px}
.mb{height:7px;background:rgba(212,175,55,.12);border-radius:6px;overflow:hidden;margin-bottom:6px}.mb i{display:block;height:7px;background:linear-gradient(90deg,#b8912e,#f0d36b)}
.who{font-size:11.5px;color:var(--dim);word-break:break-all}
.chat{display:flex;flex-direction:column;min-height:0;min-width:0}
.top{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:rgba(8,8,6,.9)}
.top small{display:block;color:var(--mut);font-size:12px}.top .sp{flex:1}.ic{background:none;border:0;color:var(--g);font-size:20px;cursor:pointer}
#menu{display:none}
.msgs{flex:1;overflow:auto;padding:22px 18px;display:flex;flex-direction:column;gap:14px;min-height:0}
.empty{margin:auto;text-align:center;max-width:560px}.empty h2{font-size:26px;margin-bottom:8px}.empty p{color:var(--mut)}
.qs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.qs button{background:var(--pnl);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:9px 12px;cursor:pointer;font:600 13px Manrope,sans-serif}
.m{max-width:min(860px,92%)}.m.user{align-self:flex-end}.m .bub{padding:12px 14px;border-radius:14px;line-height:1.6;font-size:14.5px;word-break:break-word}
.m.user .bub{background:linear-gradient(180deg,#f0d36b,#c9a13c);color:#141004}.m.assistant .bub{background:var(--pnl);border:1px solid var(--line)}
.m.wait .bub{color:var(--mut)}.m .u{font-size:11px;color:var(--dim);margin-top:4px}
.bub pre{background:#050505;border:1px solid var(--line);border-radius:10px;padding:12px;overflow:auto;margin:8px 0;font:12.5px/1.5 'JetBrains Mono',monospace;white-space:pre}
.bub code{font-family:'JetBrains Mono',monospace;font-size:12.5px;background:rgba(212,175,55,.08);padding:1px 5px;border-radius:5px}
.zip{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:8px;border:1px solid var(--g);border-radius:12px;padding:12px;background:rgba(212,175,55,.06)}
.zip span{display:block;color:var(--mut);font-size:12px;margin-top:3px}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px}.chip{font-size:12.5px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:#cfc6ad}
.chip button{background:none;border:0;color:var(--dim);cursor:pointer;margin-left:4px}
.bar{display:flex;gap:10px;align-items:flex-end;padding:12px 18px 16px}.attach{padding:8px}
.bar textarea{flex:1;resize:none;background:#0d0c09;border:1px solid rgba(212,175,55,.3);border-radius:12px;color:var(--ink);padding:12px;font:14.5px Manrope,sans-serif;max-height:220px}
.bar textarea:focus{outline:none;border-color:var(--g)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:16px;z-index:10}.modal[hidden]{display:none}
.modal .box{position:relative;background:#0e0d09;border:1px solid var(--line);border-radius:16px;padding:22px;max-width:720px;width:100%}
.modal .x{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--mut);font-size:24px;cursor:pointer}
@media (max-width:820px){.app{grid-template-columns:1fr}.side{position:fixed;inset:0 25% 0 0;z-index:5;transform:translateX(-105%);transition:transform .2s}.side.open{transform:none}#menu{display:block}}
@media (prefers-reduced-motion:reduce){.side{transition:none}}
.plan .pr small{font-size:13px;color:var(--mut);font-weight:600;margin-left:3px}.plan p+p{margin-top:3px}

/* Miracle AI logo — orange Mavorium mark, three strokes move like fingers */
.mlogo{flex:none;filter:drop-shadow(0 0 10px rgba(255,122,40,.45));overflow:visible}
.mlogo .mf{transform-origin:20px 22px;transform-box:view-box;animation:2.6s ease-in-out infinite}
.mlogo .ml{animation-name:mfl}.mlogo .mc{animation-name:mfc;animation-delay:.18s}.mlogo .mr{animation-name:mfr;animation-delay:.36s}
body.mir-busy .mlogo .mf{animation-duration:.9s}
body.mir-busy .mlogo{filter:drop-shadow(0 0 16px rgba(255,122,40,.8))}
@keyframes mfl{0%,100%{transform:rotate(0)}40%{transform:rotate(-12deg)}70%{transform:rotate(3deg)}}
@keyframes mfc{0%,100%{transform:scaleY(1)}40%{transform:scaleY(.8)}70%{transform:scaleY(1.06)}}
@keyframes mfr{0%,100%{transform:rotate(0)}40%{transform:rotate(12deg)}70%{transform:rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){.mlogo .mf{animation:none}}
.brand b{background:linear-gradient(90deg,#ffb066,#ff7a28);-webkit-background-clip:text;background-clip:text;color:transparent}
.mthink{display:inline-flex;align-items:center;gap:8px;color:#ffb066}
/* chat list, settings, memory, cloud */
.csearch{background:#0d0c09;border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:8px 10px;font:13px Manrope,sans-serif;width:100%}
#convs .grp{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);padding:10px 4px 4px;cursor:default;border:0!important;background:none!important}
#convs li .acts{position:absolute;right:4px;top:6px;display:none;gap:2px}#convs li:hover .acts,#convs li.on .acts{display:flex}
#convs li .acts button{position:static;font-size:13px;padding:2px 4px}#convs li.pin span::before{content:'📌 ';font-size:11px}
.m .u .eng{margin-left:6px;padding:1px 7px;border-radius:20px;border:1px solid var(--line)}.m .u .eng.free{color:#4fd18b;border-color:rgba(79,209,139,.35)}
.stabs{display:flex;gap:6px;margin:12px 0 14px;flex-wrap:wrap}.stabs button{background:none;border:1px solid var(--line);color:var(--mut);border-radius:9px;padding:7px 12px;font:600 13px Manrope,sans-serif;cursor:pointer}
.stabs button.on{color:var(--g2);border-color:var(--g)}.spane{max-height:62vh;overflow:auto}
.tg{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:10px 0;cursor:pointer}.tg input{margin-top:4px;accent-color:#d4af37}
.madd{display:flex;gap:8px;margin:12px 0}.madd input{flex:1;background:#0d0c09;border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:9px 10px;font:13.5px Manrope,sans-serif}
.mlist{list-style:none;margin-bottom:12px}.mlist li{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:13.5px}
.mlist li span{flex:1}.mlist li small{color:var(--dim);font-size:11px}.mlist li button{background:none;border:0;color:var(--mut);cursor:pointer;font-size:14px}
.cl{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}.cl h4{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14.5px}
.cl .err{color:#ff8a8a;font-size:12px;margin-top:6px}.cl .ok{color:#4fd18b;font-size:12px;margin-top:6px}
.toast{position:fixed;right:16px;bottom:16px;z-index:20;background:#141209;border:1px solid var(--g);border-radius:12px;padding:10px 14px;font-size:13px;max-width:360px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.retry{margin-top:6px}
