:root{
  --ink:#081426;
  --muted:#65748d;
  --line:rgba(18,72,142,.13);
  --panel:rgba(255,255,255,.76);
  --panel-strong:rgba(255,255,255,.94);
  --blue:#0866df;
  --blue2:#0a8cff;
  --bg:#f5fbff;
  --shadow:0 24px 70px rgba(13,62,122,.11);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 12%,#fff 0,#f9fcff 30%,#f0f8ff 72%,#eaf5ff 100%)}
button,input,select,textarea{font:inherit}
button{color:inherit}
body{overflow:hidden}
[hidden]{display:none!important}
.preload{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;align-content:center;gap:22px;background:radial-gradient(circle at 50% 36%,#fff 0,#f8fcff 32%,#edf7ff 72%,#e4f1ff 100%);transition:opacity .55s ease,visibility .55s ease}
.preload.done{opacity:0;visibility:hidden}
.preload-logo{width:min(320px,62vw);max-height:150px;object-fit:contain;filter:drop-shadow(0 24px 55px rgba(4,74,175,.17));position:relative;z-index:2}
.preload-copy{display:grid;text-align:center;gap:6px;position:relative;z-index:2}
.preload-copy strong{font-size:15px;letter-spacing:.22em}.preload-copy span{font-size:13px;color:var(--muted)}
.preload-orbit{position:absolute;width:290px;height:290px;border:1px solid rgba(8,102,223,.12);border-radius:50%;box-shadow:0 0 0 48px rgba(8,102,223,.025),0 0 0 96px rgba(8,102,223,.018);animation:orbit 8s linear infinite}
.preload-orbit:before,.preload-orbit:after{content:"";position:absolute;border-radius:50%;background:linear-gradient(135deg,#0655d8,#2bb5ff);box-shadow:0 10px 30px rgba(8,102,223,.32)}
.preload-orbit:before{width:11px;height:11px;top:19px;left:53px}.preload-orbit:after{width:7px;height:7px;right:28px;bottom:58px}
.preload-line{width:min(280px,60vw);height:3px;background:rgba(8,102,223,.08);overflow:hidden;border-radius:99px;position:relative;z-index:2}.preload-line span{display:block;width:48%;height:100%;background:linear-gradient(90deg,transparent,#0866df,#49bfff,transparent);animation:load 1.8s ease-in-out infinite}
@keyframes load{0%{transform:translateX(-120%)}100%{transform:translateX(240%)}}@keyframes orbit{to{transform:rotate(360deg)}}
.app{height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr) 292px;transition:grid-template-columns .28s ease}
.app.left-closed{grid-template-columns:0 minmax(0,1fr) 292px}.app.right-closed{grid-template-columns:228px minmax(0,1fr) 0}.app.left-closed.right-closed{grid-template-columns:0 minmax(0,1fr) 0}
.sidebar,.status-rail{min-width:0;overflow:auto;transition:opacity .18s ease,padding .28s ease,transform .28s ease}
.sidebar{padding:26px 16px 18px;border-right:1px solid var(--line);background:rgba(249,252,255,.8);backdrop-filter:blur(28px) saturate(145%);display:flex;flex-direction:column;gap:18px}
.app.left-closed .sidebar{opacity:0;pointer-events:none;padding-left:0;padding-right:0;transform:translateX(-18px);border-right:0}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand img{width:43px;height:43px;object-fit:cover;object-position:50% 18%;border-radius:13px;box-shadow:0 10px 28px rgba(8,102,223,.15)}.brand strong{display:block;font-size:17px;letter-spacing:.13em}.brand span{display:block;margin-top:4px;font-size:9px;color:#8390a5;letter-spacing:.2em}
.new-chat,.nav-btn,.soft-btn,.primary-btn,.icon-btn,.file-btn,.link-btn{border:0;cursor:pointer}.new-chat{width:100%;padding:11px 13px;text-align:left;border-radius:13px;background:linear-gradient(135deg,#0754ce,#0a82ee);color:#fff;font-weight:700;box-shadow:0 12px 28px rgba(5,87,217,.18)}
.nav{display:grid;gap:5px}.nav-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 11px;border-radius:12px;background:transparent;text-align:left;color:#46556e}.nav-btn span{font-weight:650}.nav-btn small{font-size:10px;color:#92a0b5}.nav-btn:hover{background:rgba(255,255,255,.72)}.nav-btn.active{background:#fff;color:#064fc4;box-shadow:0 7px 22px rgba(24,60,110,.07);border:1px solid rgba(7,91,210,.09)}
.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.sovereignty-note{padding:11px 12px;background:#f4f8ff;border:1px solid #dfeafb;border-radius:12px;color:#52627c;font-size:11px;line-height:1.45}.copyright{color:#8491a6;font-size:10px;line-height:1.4;padding:2px 8px}
.main{min-width:0;display:flex;flex-direction:column;position:relative}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.55);backdrop-filter:blur(30px) saturate(145%)}.top-left{display:flex;align-items:center;gap:12px;min-width:0}.title-block strong{font-size:15px}.title-block span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:9px}.icon-btn,.soft-btn,.primary-btn,.file-btn{border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.9);min-height:36px}.icon-btn{width:38px}.soft-btn,.primary-btn,.file-btn{padding:9px 13px;font-weight:650}.primary-btn{border:0;color:#fff;background:linear-gradient(135deg,#0648c9,#0a8cff);box-shadow:0 9px 20px rgba(5,87,217,.18)}.primary-btn:disabled,.soft-btn:disabled{opacity:.5;cursor:default;box-shadow:none}.select,input[type=text],input[type=password],select{height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 12px;outline:none}.select{padding-right:34px}.select:focus,input:focus,select:focus,textarea:focus{border-color:rgba(8,102,223,.48);box-shadow:0 0 0 3px rgba(8,102,223,.08)}
.view{display:none;min-height:0;flex:1}.view.active{display:flex}#view-chat{flex-direction:column}.chat-scroll{flex:1;overflow:auto;padding:28px clamp(24px,5vw,72px) 18px}.chat-inner{max-width:880px;margin:0 auto}.hero{padding:42px 10px 34px}.kicker{color:#0866df;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.17em}.hero h1{margin:12px 0 10px;font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.055em;font-weight:760}.hero p{margin:0;max-width:680px;color:var(--muted);line-height:1.58;font-size:14px}.messages{display:grid;gap:18px;padding-bottom:28px}.message{max-width:86%;display:flex;gap:12px;align-items:flex-start}.message.user{margin-left:auto;flex-direction:row-reverse}.avatar{width:31px;height:31px;flex:0 0 31px;border-radius:11px;display:grid;place-items:center;background:#eef5ff;color:#0757d8;border:1px solid var(--line);font-size:12px;font-weight:800}.message.user .avatar{background:#07142d;color:#fff;border-color:#07142d}.bubble{padding:13px 15px;border-radius:17px;background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:0 8px 28px rgba(20,55,104,.06);line-height:1.55;white-space:pre-wrap;font-size:14px}.message.user .bubble{color:#fff;background:linear-gradient(135deg,#0b4dcc,#075fde);border:0}.message-meta{margin-top:6px;font-size:11px;color:#94a0b3}.composer-wrap{padding:14px clamp(24px,5vw,72px) 24px;background:linear-gradient(to top,#f5fbff 55%,rgba(245,251,255,0))}.composer{max-width:880px;margin:0 auto;border:1px solid rgba(6,87,217,.18);background:rgba(255,255,255,.94);border-radius:20px;box-shadow:var(--shadow);padding:12px 12px 10px}.composer textarea{width:100%;min-height:64px;max-height:190px;resize:none;border:0;outline:0;padding:5px 7px 8px;background:transparent;color:var(--ink);font:inherit;font-size:15px;line-height:1.48}.composer-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.check-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.check-line input,.switch-line input{accent-color:#0866df}.send-btn{width:42px;height:42px;border:0;border-radius:14px;color:#fff;font-size:18px;background:linear-gradient(135deg,#0648c9,#0a8cff);cursor:pointer;box-shadow:0 10px 22px rgba(5,87,217,.2)}.send-btn:disabled{opacity:.45;cursor:default;box-shadow:none}
.page-view{overflow:auto;padding:34px clamp(28px,5vw,70px)}.page-inner{width:100%;max-width:940px;margin:0 auto;padding-bottom:50px}.page-inner.wide{max-width:1120px}.page-inner h2{margin:8px 0;font-size:34px;letter-spacing:-.04em}.lead{color:var(--muted);max-width:760px;line-height:1.55;margin:0 0 28px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--panel-strong);border-radius:19px;padding:18px;box-shadow:0 10px 36px rgba(25,55,100,.06)}.card h3{margin:0 0 8px;font-size:14px}.card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.metric{font-size:26px;font-weight:760;letter-spacing:-.04em;color:#0b4dcc;margin:8px 0 4px}.note{margin-top:16px;padding:13px 15px;border-radius:14px;background:#f4f8ff;border:1px solid #dfeafb;color:#52627c;font-size:13px;line-height:1.5}.section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:30px 0 10px}.section-head h3{margin:0}.section-head span{font-size:12px;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.88);box-shadow:0 10px 34px rgba(25,55,100,.05)}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(18,72,142,.09);font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#6c7890;background:#f9fbfe}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.positive{color:#13965c}.negative{color:#c63b4a}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.market-remove{border:0;background:transparent;color:#9d5260;cursor:pointer}.manifest-hero{display:flex;align-items:center;gap:24px;margin-bottom:24px}.manifest-hero img{width:190px;max-height:100px;object-fit:contain}.manifest-block{padding:24px 0;border-top:1px solid var(--line)}.manifest-block h3{margin:0 0 8px}.manifest-block p{color:#44536b;line-height:1.7;margin:0 0 12px}.form-card{display:grid;gap:12px}.form-card label:not(.switch-line){display:grid;gap:6px;font-size:12px;font-weight:700;color:#46546e}.form-card p{font-size:12px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.switch-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#46546e}.file-btn{display:inline-flex;align-items:center;cursor:pointer}.file-btn input{display:none}.mini-status{font-size:12px;color:var(--muted);line-height:1.45}
.status-rail{padding:22px 18px;border-left:1px solid var(--line);background:rgba(249,252,255,.78);backdrop-filter:blur(28px) saturate(145%)}.app.right-closed .status-rail{opacity:0;pointer-events:none;padding-left:0;padding-right:0;transform:translateX(18px);border-left:0}.status-rail h3{margin:2px 0 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#65748d}.status-stack{display:grid;gap:10px}.status-card{padding:13px;border-radius:15px;background:rgba(255,255,255,.86);border:1px solid var(--line)}.status-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.status-card strong{font-size:13px}.status-card p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.dot{width:8px;height:8px;border-radius:50%;background:#9ca9bb;box-shadow:0 0 0 4px rgba(156,169,187,.12)}.dot.ok{background:#20a865;box-shadow:0 0 0 4px rgba(32,168,101,.12)}.dot.warn{background:#e7a01b;box-shadow:0 0 0 4px rgba(231,160,27,.12)}.dot.bad{background:#d84454;box-shadow:0 0 0 4px rgba(216,68,84,.12)}.dot.blue{background:#0a75ef;box-shadow:0 0 0 4px rgba(10,117,239,.12)}
.modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:rgba(4,16,39,.3);backdrop-filter:blur(13px)}.modal{width:min(510px,calc(100vw - 36px));background:rgba(255,255,255,.98);border:1px solid rgba(7,70,160,.16);border-radius:24px;box-shadow:0 34px 100px rgba(5,30,70,.25);padding:24px}.modal-head{display:flex;gap:13px;align-items:center;margin-bottom:16px}.modal-head img{width:54px;height:54px;object-fit:cover;object-position:50% 18%;border-radius:14px}.modal h2{margin:5px 0 0;font-size:24px;letter-spacing:-.03em}.modal p{color:var(--muted);font-size:13px;line-height:1.5}.modal label:not(.check-line){display:grid;gap:6px;margin-top:12px;font-size:12px;font-weight:700;color:#46546e}.consent{align-items:flex-start;margin:14px 0}.full{width:100%;margin-top:16px;min-height:44px}.error{margin-top:12px;padding:10px 12px;border-radius:11px;background:#fff1f2;color:#9d2431;font-size:12px;border:1px solid #ffd8dc}.link-btn{display:block;margin:13px auto 0;background:transparent;color:#0866df;font-size:12px}.toast{position:fixed;z-index:1600;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 14px;border-radius:13px;background:#07142d;color:#fff;font-size:12px;box-shadow:0 18px 50px rgba(4,20,45,.24);transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1120px){.app{grid-template-columns:205px minmax(0,1fr)}.status-rail{display:none}.app.left-closed,.app.left-closed.right-closed{grid-template-columns:0 minmax(0,1fr)}}
@media(max-width:760px){body{overflow:auto}.app,.app.left-closed,.app.right-closed,.app.left-closed.right-closed{height:100dvh;grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;z-index:900;left:0;top:0;bottom:0;width:min(82vw,310px);box-shadow:30px 0 70px rgba(5,30,70,.18);transform:translateX(-105%);opacity:0;pointer-events:none}.app:not(.left-closed) .sidebar{transform:translateX(0);opacity:1;pointer-events:auto}.status-rail{display:none}.topbar{padding:0 14px;height:64px}.title-block span{display:none}.top-actions .select{display:none}.soft-btn{padding:8px 10px}.page-view{padding:26px 16px}.grid.two{grid-template-columns:1fr}.hero{padding-top:28px}.chat-scroll{padding-left:16px;padding-right:16px}.composer-wrap{padding-left:12px;padding-right:12px}.message{max-width:94%}.manifest-hero{align-items:flex-start;flex-direction:column}.manifest-hero img{width:160px}.toolbar{align-items:stretch}.toolbar>*{flex:1 1 180px}}

/* AION FLUX v0.2.0 - Gardiens + diagnostic live */
.guardian-panel,.chain-live{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.74);box-shadow:0 10px 36px rgba(25,55,100,.05)}
.guardian-panel .section-head,.chain-live .section-head{margin:0 0 12px;align-items:flex-start}.guardian-panel .section-head h3,.chain-live .section-head h3{margin:0 0 4px}.guardian-panel .section-head span,.chain-live .section-head span{display:block;max-width:670px;line-height:1.45}
.guardian-copy{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.55}.guardian-generate{display:flex;gap:9px;align-items:center;margin-bottom:14px}.guardian-generate input{flex:1;min-width:0}.guardian-badge{font-size:11px;padding:7px 10px;border-radius:99px;border:1px solid var(--line);background:#f7faff;color:#60718c;white-space:nowrap}.guardian-badge.ok{background:#ecfbf4;color:#147249;border-color:#c9efdd}.guardian-badge.warn{background:#fff8e8;color:#996b12;border-color:#f2dfad}.guardian-badge.bad{background:#fff1f2;color:#a12d3b;border-color:#ffd8dc}
.totem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.totem-card{display:grid;gap:8px;align-content:start;text-align:center;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff}.totem-card.ready{border-color:rgba(32,168,101,.35);box-shadow:0 0 0 3px rgba(32,168,101,.06)}.totem-icon{font-size:32px;line-height:1}.totem-card strong{font-size:13px}.totem-card small{color:var(--muted);font-size:10px;min-height:24px}.totem-card .soft-btn{width:100%;font-size:11px;padding:8px}
.mini-status.important{padding:9px 10px;border-radius:11px;background:#f4f8ff;border:1px solid #dfeafb;color:#445a79}.mini-status.ok{color:#137349}.mini-status.bad{color:#a12d3b}.mini-status.warn{color:#94650e}
#recoverForm{max-height:min(72vh,650px);overflow:auto;padding-right:4px}#recoverForm input[type=file]{height:auto;padding:10px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:12px}.chain-live .note{margin-top:0}.chain-live .note.ok{background:#ecfbf4;border-color:#c9efdd;color:#176b49}.chain-live .note.bad{background:#fff1f2;border-color:#ffd8dc;color:#982c39}.chain-live .note.warn{background:#fff8e8;border-color:#f2dfad;color:#8e6717}
@media(max-width:760px){.totem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guardian-generate{align-items:stretch;flex-direction:column}.guardian-generate .primary-btn{width:100%}.guardian-panel .section-head,.chain-live .section-head{align-items:stretch;flex-direction:column}.guardian-badge{justify-self:start}}
