
:root{
  --bg:#050814;
  --bg2:#091225;
  --panel:#0b1120;
  --panel2:#10192d;
  --ink:#f6f1e6;
  --muted:#aab7cf;
  --accent:#f6c444;
  --accent2:#8f6b15;
  --accent-soft:rgba(246,196,68,.12);
  --line:rgba(246,196,68,.34);
  --line2:rgba(255,255,255,.08);
  --danger:#ff6f66;
  --ok:#46e1a2;
  --triton:#00d8ff;
  --atlante:#00f0c8;
  --akash:#bd76ff;
  --zero:#ff8a00;
  --mono:#f5f0e1;
  --shadow:0 24px 60px rgba(0,0,0,.36);
  --radius:22px;
}
html[data-theme="triton"]{--accent:var(--triton);--accent2:#087391;--accent-soft:rgba(0,216,255,.12);--line:rgba(0,216,255,.34);--bg:#03111d;--bg2:#062035;--panel:#071a29;--panel2:#0b2740}
html[data-theme="atlante"]{--accent:var(--atlante);--accent2:#0e8070;--accent-soft:rgba(0,240,200,.12);--line:rgba(0,240,200,.34);--bg:#031614;--bg2:#082320;--panel:#08201d;--panel2:#0b2925}
html[data-theme="akash"]{--accent:var(--akash);--accent2:#7e43b7;--accent-soft:rgba(189,118,255,.12);--line:rgba(189,118,255,.34);--bg:#140b20;--bg2:#211133;--panel:#1d1230;--panel2:#291945}
html[data-theme="zero"]{--accent:var(--zero);--accent2:#a64f00;--accent-soft:rgba(255,138,0,.12);--line:rgba(255,138,0,.34);--bg:#1a0b02;--bg2:#251106;--panel:#231208;--panel2:#32160a}
html[data-theme="mono"]{--accent:var(--mono);--accent2:#948f85;--accent-soft:rgba(245,240,225,.08);--line:rgba(245,240,225,.26);--bg:#0c0d10;--bg2:#16181b;--panel:#17191e;--panel2:#1d1f25}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);background:
 radial-gradient(circle at 18% 12%, rgba(58,122,255,.18), transparent 18rem),
 radial-gradient(circle at 82% 28%, rgba(0,216,255,.12), transparent 18rem),
 radial-gradient(circle at 70% 84%, rgba(189,118,255,.14), transparent 20rem),
 linear-gradient(180deg,#020612 0%,#081225 38%,#0a1222 100%);
 overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;background-image:radial-gradient(circle,rgba(255,255,255,.8) 1px,transparent 1.3px);background-size:36px 36px;mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 92%)}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.fatal{padding:2rem;background:#400;color:#fff}
.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh;position:relative;z-index:1}
.sidebar{position:sticky;top:0;height:100vh;padding:20px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(5,9,20,.94),rgba(5,9,20,.82));backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:16px;z-index:25}
.brand-frame{position:relative;padding:18px 14px;display:flex;align-items:center;gap:12px;border:2px solid var(--accent);outline:1px solid var(--accent2);outline-offset:-8px;background:linear-gradient(145deg,rgba(255,255,255,.02),transparent)}
.brand-frame strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1rem;letter-spacing:.08em}
.brand-frame small{display:block;color:var(--muted);margin-top:4px}
.brand-glyph{width:46px;height:56px;position:relative;flex:0 0 auto}
.spiral,.spiral-mark,.spiral-focus{position:absolute;border:3px solid var(--accent);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-24deg)}
.brand-glyph .spiral{width:32px;height:32px;left:4px;top:1px}
.brand-glyph .spiral:after,.spiral-mark:after,.spiral-focus:after{content:"";position:absolute;border:inherit;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%}
.brand-glyph .spiral:after{width:14px;height:14px;left:2px;top:11px}
.zero,.zero-mark{position:absolute;bottom:0;left:12px;width:18px;height:26px;border:4px solid var(--accent)}
.zero-mark{position:relative;left:auto;bottom:auto;width:22px;height:36px;border-width:5px;box-shadow:0 0 20px rgba(246,196,68,.2)}
.nav-stack{display:grid;gap:7px}
.nav-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:14px;text-align:left;font-weight:650}
.nav-btn span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--accent);background:rgba(255,255,255,.03)}
.nav-btn:hover,.nav-btn.active{color:var(--ink);background:var(--accent-soft);border-color:var(--line)}
.nav-btn.active{box-shadow:inset 3px 0 var(--accent)}
.panel-lite{border:1px solid var(--line2);border-radius:16px;padding:14px;background:rgba(255,255,255,.02)}
.sidebar-manifesto ul{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:8px;color:var(--muted);font-size:.84rem}
.sidebar-manifesto li{padding-left:14px;position:relative}
.sidebar-manifesto li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.side-status{margin-top:auto;border-top:1px solid var(--line);padding:12px 8px 4px;display:grid;gap:7px;color:var(--muted);font-size:.78rem}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#aaa;margin-right:7px}
.status-dot.online,.status-dot.local{background:var(--ok);box-shadow:0 0 12px rgba(70,225,162,.5)}
.status-dot.offline{background:var(--accent);box-shadow:0 0 12px rgba(246,196,68,.36)}
.main-shell{min-width:0}
.topbar{position:sticky;top:0;z-index:20;height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 clamp(18px,3vw,34px);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(7,11,24,.92),rgba(7,11,24,.8));backdrop-filter:blur(16px)}
.top-title{display:flex;flex-direction:column;min-width:0}
.top-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;letter-spacing:.03em}
.eyebrow{color:var(--accent);font-size:.68rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase}
.top-actions{display:flex;gap:8px}
.icon-btn,.ghost-btn{border:1px solid var(--line);background:var(--accent-soft);color:var(--ink);border-radius:12px;min-height:42px;padding:0 13px}
.icon-btn{width:42px;padding:0}.menu-btn{display:none}
main{max-width:1520px;margin:0 auto;padding:clamp(18px,3vw,38px);position:relative}
.view{display:none}.view.active{display:block}
.oracle-frame{border:3px solid var(--accent);outline:1px solid var(--accent2);outline-offset:-14px}
.home-poster{position:relative;overflow:hidden;padding:clamp(24px,4vw,38px);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18)),var(--panel);box-shadow:var(--shadow)}
.home-poster:before,.home-poster:after{content:"";position:absolute;pointer-events:none}
.home-poster:before{left:-12%;bottom:-18%;width:44%;height:48%;background:radial-gradient(circle at 48% 44%,rgba(76,137,255,.18),rgba(0,0,0,0) 60%);filter:blur(10px)}
.home-poster:after{left:0;right:0;bottom:-2px;height:23%;background:linear-gradient(180deg,transparent,rgba(6,11,24,.92) 70%),radial-gradient(120% 160% at 50% 100%,rgba(76,137,255,.12),transparent 50%)}
.poster-head{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}
.poster-head h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,5vw,3.9rem);line-height:1;margin:.1rem 0 .45rem;letter-spacing:.03em}
.poster-head h1 span{letter-spacing:.08em}
.poster-subtitle{color:var(--muted);margin:0;font-size:1rem}
.poster-quote{max-width:320px;text-align:right;font-style:italic;color:var(--ink);opacity:.9;line-height:1.45;margin-top:.6rem}
.orbital-field{position:absolute;inset:110px 18% 180px 18%;pointer-events:none;opacity:.86}
.orbital-field .ring,.phone-sigil .orb{position:absolute;border-radius:50%;border:1.5px solid rgba(246,196,68,.32)}
.ring-a{inset:4%}.ring-b{inset:22%}.ring-c{inset:36%}
.orbital-field .axis{position:absolute;left:50%;top:4%;width:1.5px;height:92%;background:rgba(246,196,68,.26);transform-origin:center}
.orbital-field .axis.x{transform:rotate(90deg)}
.orbital-field .axis.d1{transform:rotate(30deg)}
.orbital-field .axis.d2{transform:rotate(-30deg)}
.orbital-field .core{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--accent);left:calc(50% - 9px);top:calc(50% - 9px);box-shadow:0 0 20px rgba(246,196,68,.55)}
.spiral-focus{width:86px;height:86px;left:calc(50% - 43px);top:9%;border-width:4px}
.spiral-focus:after{width:28px;height:28px;left:8px;top:28px;border-width:4px}
.point{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);top:50%;box-shadow:0 0 10px rgba(246,196,68,.55)}
.point-l{left:4%}.point-r{right:4%}
.home-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(180px,270px) minmax(0,1fr) minmax(180px,270px);gap:18px;align-items:center}
.path-column{display:grid;gap:20px}
.path-title h2{font-family:Georgia,serif;font-size:1.75rem;line-height:1.1;margin:.4rem 0 0}
.path-title-right{text-align:right}
.path-list{display:grid;gap:14px}
.path-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--line2);border-radius:18px;background:rgba(255,255,255,.025);backdrop-filter:blur(4px)}
.path-step strong{display:block;font-family:Georgia,serif;font-size:1.16rem;margin-bottom:5px}
.path-step p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.step-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-size:1.55rem;border:2px solid currentColor;box-shadow:0 0 18px rgba(255,255,255,.08)}
.step-icon.orion{color:var(--accent)}.step-icon.triton{color:var(--triton)}.step-icon.atlante{color:var(--atlante)}.step-icon.akash{color:var(--akash)}.step-icon.zero{color:var(--zero)}
.center-column{min-width:0;display:grid;gap:18px;justify-items:center}
.phone-shell{width:min(390px,100%);padding:18px;border-radius:42px;background:linear-gradient(180deg,#121620,#04070f);border:3px solid rgba(255,255,255,.16);box-shadow:0 20px 50px rgba(0,0,0,.45),0 0 0 2px rgba(255,255,255,.05);position:relative}
.phone-shell:before{content:"";position:absolute;inset:10px;border-radius:34px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.phone-notch{position:absolute;left:50%;top:14px;transform:translateX(-50%);width:112px;height:14px;border-radius:0 0 12px 12px;background:#070a11;box-shadow:0 1px 0 rgba(255,255,255,.05) inset}
.phone-screen{padding:34px 14px 16px;border-radius:30px;background:linear-gradient(180deg,rgba(1,7,16,.94),rgba(4,10,24,.98));border:1px solid rgba(246,196,68,.26);min-height:690px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.phone-screen:before{content:"";position:absolute;left:50%;top:18%;transform:translateX(-50%);width:78%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(246,196,68,.18);box-shadow:0 0 0 1px rgba(0,216,255,.08) inset}
.phone-brand{position:relative;z-index:1;text-align:center;margin-bottom:18px}
.phone-brand strong{display:block;font-family:Georgia,serif;font-size:1.25rem;color:var(--accent)}
.phone-brand small{display:block;letter-spacing:.16em;font-size:.61rem;color:var(--muted);margin-top:3px}
.phone-sigil{position:relative;z-index:1;height:138px;display:grid;place-items:center;margin-bottom:6px}
.spiral-mark{width:74px;height:74px;border-width:4px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);position:absolute;color:transparent}
.spiral-mark:after{width:26px;height:26px;left:8px;top:26px;border-width:4px}
.phone-sigil .orb{left:50%;top:50%;transform:translate(-50%,-50%)}
.phone-sigil .orb1{width:160px;height:160px}.phone-sigil .orb2{width:104px;height:104px}.phone-sigil .orb3{width:48px;height:48px}
.phone-title{position:relative;z-index:1;text-align:center;font-family:Georgia,serif;font-size:2rem;margin-top:8px}
.phone-copy{position:relative;z-index:1;text-align:center;margin:6px 0 18px;color:var(--muted);font-size:.88rem}
.tool-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tool-tile{display:grid;gap:4px;justify-items:start;align-content:start;min-height:118px;padding:12px 12px 14px;border-radius:16px;background:rgba(7,11,24,.66);border:1px solid currentColor;color:var(--ink);text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.tool-tile strong{font-size:1.02rem;font-family:Georgia,serif}
.tool-tile small{color:rgba(255,255,255,.72);line-height:1.25}
.tool-icon{font-size:1.35rem;line-height:1}
.tile-orion{color:var(--accent)}.tile-triton{color:var(--triton)}.tile-akash{color:var(--akash)}.tile-atlante{color:var(--atlante)}.tile-zero{color:var(--zero)}.tile-amber{color:#8b6fff}
.tool-tile:hover{transform:translateY(-1px);background:rgba(255,255,255,.06)}
.phone-footer{position:relative;z-index:1;margin-top:auto;border:1px solid rgba(0,216,255,.38);border-radius:999px;padding:10px 14px;text-align:center;color:var(--muted);font-size:.78rem}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
.metrics article,.panel,.legend-card{border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)),var(--panel);border-radius:var(--radius);box-shadow:var(--shadow)}
.metrics article{padding:18px}
.metrics strong{display:block;font-family:Georgia,serif;color:var(--accent);font-size:clamp(1.6rem,3vw,2.5rem)}
.metrics span{color:var(--muted);font-size:.84rem}
.legend-card{width:100%;padding:18px}
.legend-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;color:var(--muted);font-size:.82rem}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:middle}
.legend-dot.new{background:#dfe7ff}.legend-dot.tested{background:var(--triton)}.legend-dot.human{background:var(--accent)}.legend-dot.sealed{background:var(--atlante)}
.poster-foot{position:relative;z-index:2;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}
.feature-band{margin-top:18px}
.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel{padding:20px;min-width:0}
.accent-line{border-left:4px solid var(--accent)}
.panel h2,.page-head h1{font-family:Georgia,serif;line-height:1.08;margin:.15rem 0 1rem}
.panel p{color:var(--muted);line-height:1.55}
.panel-head,.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.page-head{margin-bottom:20px}
.page-head h1{font-size:clamp(2rem,4vw,3.6rem)}
.page-head p{max-width:760px;color:var(--muted)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.primary,.secondary,.danger,.link-btn{border-radius:12px;min-height:44px;padding:10px 16px;font-weight:750}
.primary{border:1px solid var(--accent);background:var(--accent);color:#07100e}
.secondary{border:1px solid var(--line);background:var(--accent-soft);color:var(--ink)}
.danger{border:1px solid #a53636;background:#5b1d1d;color:#fff}.link-btn{border:0;background:transparent;color:var(--accent);padding-inline:6px}.full{width:100%}
.badge{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:800}
.feature-cards{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.feature-card{padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03)}
.feature-card strong{display:block;font-family:Georgia,serif;font-size:1.15rem;margin-bottom:4px}
.feature-card span{color:var(--muted);font-size:.84rem}
.fc1{box-shadow:inset 0 0 0 1px rgba(246,196,68,.28)}.fc2{box-shadow:inset 0 0 0 1px rgba(189,118,255,.28)}.fc3{box-shadow:inset 0 0 0 1px rgba(0,216,255,.28)}.fc4{box-shadow:inset 0 0 0 1px rgba(255,138,0,.28)}
.compact-health{margin-top:18px}
.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.health-grid div{padding:14px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.015)}.health-grid span{display:block;color:var(--muted);font-size:.76rem}.health-grid strong{display:block;margin-top:5px}
.micro{font-size:.8rem;color:var(--muted)}
.timeline{display:grid;gap:9px}.timeline-item{padding:10px 0;border-bottom:1px solid var(--line2)}.timeline-item:last-child{border-bottom:0}.timeline-item strong{display:block}.timeline-item small{color:var(--muted)}.empty{color:var(--muted);padding:14px;border:1px dashed var(--line);border-radius:12px}
.cards-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.space-card{position:relative;overflow:hidden;padding:22px;border:1px solid var(--line2);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.space-card:before{content:"";position:absolute;width:130px;height:130px;border:1px solid var(--line);border-radius:50%;right:-55px;top:-55px}.space-card h3{font-family:Georgia,serif;font-size:1.35rem;margin:.2rem 0}.space-card p{color:var(--muted);min-height:44px}.space-card .count{color:var(--accent);font-weight:800}.space-card-actions{display:flex;gap:7px;margin-top:15px;flex-wrap:wrap}.space-card-actions button{min-height:38px}
.panel label{display:block;margin:13px 0 6px;color:var(--muted);font-size:.83rem;font-weight:700}
input,select,textarea{width:100%;border:1px solid var(--line2);border-radius:11px;background:#060b15;color:var(--ink);padding:12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drop-zone{padding:26px!important;border:1px dashed var(--accent)!important;border-radius:16px;text-align:center;background:var(--accent-soft);cursor:pointer;display:grid;gap:8px;position:relative}
.drop-zone span,.drop-zone strong,.drop-zone small{display:block}.drop-glyph{font-size:2rem;color:var(--accent)}.drop-zone small{margin-top:6px;color:var(--muted)}
.drop-zone input[type="file"]{position:static;opacity:1;pointer-events:auto;width:100%;max-width:100%;padding:8px;background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:10px;color:var(--muted);overflow:hidden}
.drop-zone input[type="file"]::file-selector-button{margin-right:10px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#07100e;padding:8px 11px;font-weight:800;cursor:pointer}
.file-picker-label{margin:8px 0 0!important;color:var(--ink)!important;font-size:.78rem!important}
.help{margin-top:8px!important}
.searchbar{display:flex;gap:8px;min-width:min(100%,560px)}.searchbar input{flex:1}.searchbar select{max-width:210px}
.documents-list{display:grid;gap:10px}.doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px 18px;border:1px solid var(--line2);border-radius:15px;background:var(--panel)}.doc-row:hover{border-color:var(--line)}.doc-main{min-width:0}.doc-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-title h3{margin:0;font-size:1.03rem}.chip{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:.69rem;font-weight:800}.doc-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.76rem;margin-top:8px}.doc-actions{display:flex;align-items:center;gap:7px}.doc-actions button{min-height:38px}.state-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800}.state-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.vault-card{position:relative;overflow:hidden}.vault-icon{font-size:2.4rem;color:var(--accent)}.progress-wrap{margin-top:12px}.progress-wrap progress{width:100%}.warning{border-left:4px solid var(--accent);margin-top:14px}
.audit-list{display:grid;gap:8px}.audit-entry{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 15px;border:1px solid var(--line2);border-radius:12px;background:var(--panel)}.audit-entry .seq{font-family:monospace;color:var(--accent)}.audit-entry small{color:var(--muted)}
.theme-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.theme-card{position:relative;aspect-ratio:3/4;border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:var(--bg);padding:0}.theme-card img{width:100%;height:100%;object-fit:cover;opacity:.72}.theme-card span{position:absolute;left:8px;bottom:8px;padding:4px 7px;border-radius:8px;background:rgba(0,0,0,.72);color:#fff;font-size:.7rem}.theme-card.active{outline:2px solid var(--accent);outline-offset:2px}
.meta-list{margin:0}.meta-list div{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2)}.meta-list dt{color:var(--muted)}.meta-list dd{margin:0;text-align:right}.danger-zone{border-color:rgba(255,105,95,.35)}.references{margin-top:14px}
.reference-strip{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px}.reference-strip img{width:110px;aspect-ratio:3/4;object-fit:cover;border-radius:9px;border:1px solid var(--line2);flex:0 0 auto}
.direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.direction-grid figure{margin:0}.direction-grid img{width:100%;border-radius:16px;border:1px solid var(--line2);display:block}.direction-grid figcaption{margin-top:8px;color:var(--muted);font-size:.84rem;text-align:center}
dialog{border:0;padding:0;background:transparent;color:var(--ink);max-width:min(92vw,760px);width:100%}dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.dialog-card{position:relative;padding:26px;border:2px solid var(--accent);outline:1px solid var(--accent2);outline-offset:-10px;border-radius:18px;background:var(--panel);box-shadow:0 30px 80px rgba(0,0,0,.5)}.dialog-card.wide{max-height:88vh;overflow:auto}.dialog-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--accent-soft);color:var(--ink);font-size:1.3rem}.detail-head{padding-right:45px}.detail-head h2{font-family:Georgia,serif;font-size:2rem;margin:.2rem 0}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:13px;margin-top:16px}.detail-section{padding:16px;border:1px solid var(--line2);border-radius:14px}.detail-section h3{margin:.1rem 0 .8rem}.hash{font-family:monospace;font-size:.72rem;overflow-wrap:anywhere;color:var(--muted)}.history{display:grid;gap:6px}.history-row{display:grid;grid-template-columns:125px 1fr;gap:10px;font-size:.78rem;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.history-row:last-child{border-bottom:0}.history-row strong{color:var(--accent)}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.toast{position:fixed;right:18px;bottom:18px;z-index:100;max-width:min(420px,calc(100vw - 36px));padding:13px 16px;border:1px solid var(--accent);border-radius:12px;background:#070a0f;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{border-color:var(--danger)}
.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}
.technical-details{margin-top:10px;border-top:1px solid var(--line2);padding-top:8px}.technical-details summary{cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:750}.technical-details[open] summary{color:var(--accent)}.technical-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;overflow-wrap:anywhere;color:var(--muted)}.history-row .history-note{display:block;color:var(--muted);margin-top:3px;line-height:1.4}.decision-box{margin-top:14px;padding:14px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.015)}.decision-box label.checkbox-line{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-weight:600}.decision-box label.checkbox-line input{width:auto;margin-top:3px;flex:0 0 auto}.decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.audit-entry details{margin-top:7px}.audit-entry summary{cursor:pointer;color:var(--muted);font-size:.75rem}.audit-entry .friendly-actor{color:var(--muted);font-size:.75rem}.audit-entry .tech-json{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.status-explainer{padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--accent-soft);font-size:.78rem;color:var(--muted)}
.detail-sillage{margin-top:13px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body,.app-shell,.main-shell,main,.view,.grid,.panel,form,.page-head,.panel-head,.topbar,.doc-row,.detail-grid{min-width:0;max-width:100%}
.app-shell,.main-shell,main{width:100%;overflow-x:clip}
.page-head>*,.panel-head>*,.grid>*,.detail-grid>*,.doc-row>*{min-width:0}
h1,h2,h3,p,strong,small,span,dt,dd,label{overflow-wrap:anywhere}
input,select,textarea,button{min-width:0;max-width:100%}
@media(max-width:1280px){.home-stage{grid-template-columns:220px minmax(0,1fr) 220px}.orbital-field{inset:130px 14% 180px 14%}.path-title h2{font-size:1.45rem}.phone-shell{width:min(360px,100%)}}
@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-100vw;width:min(290px,88vw);max-width:88vw;transition:.2s}.sidebar.open{left:0}.menu-btn{display:inline-grid;place-items:center}.home-stage{grid-template-columns:1fr}.path-title-right{text-align:left}.orbital-field{display:none}.center-column{order:-1}.grid.two,.detail-grid,.form-row,.health-grid,.feature-cards,.direction-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions .ghost-btn{display:none}}
@media(max-width:720px){main{padding:14px}.topbar{padding:0 14px}.poster-head{flex-direction:column}.poster-quote{text-align:left;max-width:none}.home-poster{padding:22px 18px}.oracle-frame{outline-offset:-9px}.poster-head h1{font-size:2.35rem}.path-step{grid-template-columns:56px minmax(0,1fr)}.phone-shell{width:min(100%,390px);padding:14px;border-radius:34px}.phone-screen{min-height:640px;padding:32px 12px 14px}.tool-grid{grid-template-columns:1fr 1fr}.legend-row{flex-direction:column;gap:8px}.page-head{flex-direction:column}.page-head h1{font-size:2.35rem}.searchbar{width:100%;min-width:0;flex-direction:column}.searchbar select{max-width:none}.doc-row{grid-template-columns:1fr}.doc-actions{justify-content:flex-start}.audit-entry{grid-template-columns:55px minmax(0,1fr)}.audit-entry>small{grid-column:2}.theme-gallery{grid-template-columns:repeat(2,1fr)}.meta-list div{grid-template-columns:1fr}.meta-list dd{text-align:left}.history-row{grid-template-columns:1fr}.dialog-card{padding:22px 16px}.top-title strong{font-size:.9rem}.decision-actions{grid-template-columns:1fr}.panel{padding:16px}.poster-foot{flex-direction:column;letter-spacing:.12em}}
@media(max-width:460px){.metrics{grid-template-columns:1fr 1fr}.tool-grid{grid-template-columns:1fr}.phone-screen{min-height:auto}.path-step strong{font-size:1.02rem}.step-icon{width:50px;height:50px}.theme-gallery{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* WEB RC1 — habillage produit */
.guide-steps{margin:0;padding-left:1.25rem;color:var(--muted);display:grid;gap:.7rem;line-height:1.5}.guide-steps li::marker{color:var(--accent);font-weight:800}.about-list{margin:0;padding-left:1.2rem;color:var(--muted);display:grid;gap:.8rem;line-height:1.5}.about-list strong{color:var(--ink)}


/* =========================================================
   WEB RC2 — audit responsive / anti-superposition
   Correctif ciblé : étapes 1→6 du parcours, notamment 5. Exporter.
   ========================================================= */

/* Les zones flex/grid importantes doivent toujours pouvoir rétrécir. */
.top-title{flex:1 1 auto;min-width:0}
.top-actions{flex:0 0 auto;min-width:max-content}
.brand-frame>div:last-child,
.home-stage>*,
.path-column,
.path-list,
.path-step,
.path-step>div:last-child,
.center-column,
.tool-grid,
.tool-tile,
.poster-head>*,
.feature-cards>*{min-width:0}

/* Le texte du parcours ne doit jamais hériter d'un découpage caractère par caractère. */
.path-step strong,
.path-step p{
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
.path-step strong{line-height:1.25}
.path-step p{line-height:1.45}
.step-icon{position:relative;z-index:1;flex:0 0 auto}

/* Les cadres décoratifs restent derrière le contenu. */
.home-poster:before,
.home-poster:after,
.phone-screen:before,
.orbital-field{z-index:0}
.poster-head,
.home-stage,
.poster-foot,
.phone-brand,
.phone-sigil,
.phone-title,
.phone-copy,
.tool-grid,
.phone-footer{position:relative;z-index:2}

/* Empêche les éléments longs de pousser la page hors écran. */
.poster-quote,
.foot-note,
.legend-card,
.legend-row,
.sidebar-manifesto,
.reference-strip,
.direction-grid,
.meta-list,
.guide-steps,
.about-list{max-width:100%;min-width:0}

@media(max-width:1080px){
  .home-stage{width:100%;}
  .path-column{width:100%;}
  .path-list{width:100%;}
  .path-step{width:100%;}
  .poster-head{width:100%;}
}

/* Smartphone / petite tablette : passage en flex robuste pour les étapes.
   Cela supprime la compression du texte qui pouvait rendre « 5. Exporter » vertical. */
@media(max-width:720px){
  .path-step{
    display:flex;
    width:100%;
    align-items:flex-start;
    gap:12px;
    padding:14px;
  }
  .path-step .step-icon{
    flex:0 0 52px;
    width:52px;
    height:52px;
    font-size:1.35rem;
  }
  .path-step>div:last-child{
    flex:1 1 auto;
    width:auto;
    min-width:0;
  }
  .path-step strong{
    display:block;
    font-size:1.04rem;
    line-height:1.25;
    margin:0 0 4px;
  }
  .path-step p{
    margin:0;
    font-size:.88rem;
    line-height:1.42;
  }
  .path-title,
  .path-title-right{text-align:left}
  .poster-head h1{overflow-wrap:normal;word-break:normal}
  .poster-quote{overflow-wrap:break-word;word-break:normal}
  .phone-brand strong{overflow-wrap:normal;word-break:normal}
  .tool-tile strong,
  .tool-tile small{overflow-wrap:break-word;word-break:normal}
  .top-title strong{max-width:100%;}
  .topbar{gap:10px}
}

@media(max-width:460px){
  .home-poster{padding:20px 14px}
  .path-step{gap:10px;padding:12px;border-radius:15px}
  .path-step .step-icon{flex-basis:44px;width:44px;height:44px;font-size:1.18rem}
  .path-step strong{font-size:.98rem}
  .path-step p{font-size:.84rem}
  .phone-shell{padding:10px;border-radius:30px}
  .phone-screen{padding-inline:10px;border-radius:25px}
  .tool-tile{min-height:auto;padding:12px}
  .tool-icon{font-size:1.2rem}
  .poster-foot{align-items:stretch;text-align:center}
  .zero-mark{align-self:center}
  .topbar{height:70px}
  .top-title .eyebrow{font-size:.6rem}
  .top-title strong{font-size:.82rem}
  .icon-btn{width:40px;min-height:40px}
}

/* Très petits écrans : on privilégie toujours la lisibilité. */
@media(max-width:360px){
  main{padding:10px}
  .home-poster{padding:18px 10px}
  .poster-head h1{font-size:2rem}
  .path-step{padding:10px;gap:9px}
  .path-step .step-icon{flex-basis:40px;width:40px;height:40px;font-size:1.05rem}
  .path-step strong{font-size:.92rem}
  .path-step p{font-size:.8rem}
  .metrics{grid-template-columns:1fr}
  .theme-gallery{grid-template-columns:1fr}
  .top-actions{gap:4px}
}

/* RC3 — confirmations internes et dernier durcissement responsive */
.confirm-card{max-width:560px;margin:auto}.confirm-card p{color:var(--muted);line-height:1.55}.confirm-card .dialog-actions{justify-content:flex-end}
@media(max-width:720px){.home-stage{gap:14px}.path-column,.path-list{min-width:0;width:100%}.path-step{grid-template-columns:none!important;display:flex!important}.path-step>div:last-child{min-width:0;max-width:calc(100% - 64px)}.path-step strong,.path-step p{max-width:100%;writing-mode:horizontal-tb!important;text-orientation:mixed!important}.step-icon{position:static!important;transform:none!important}.confirm-card{margin:0 8px}.confirm-card .dialog-actions{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:390px){.path-step{padding:11px;gap:9px}.path-step .step-icon{flex:0 0 42px;width:42px;height:42px}.path-step>div:last-child{max-width:calc(100% - 51px)}.path-step strong{font-size:.94rem}.path-step p{font-size:.81rem}.confirm-card .dialog-actions{grid-template-columns:1fr}}


/* CF2 — correction viewport smartphone / bas de page accessible
   Les navigateurs mobiles ont une hauteur visuelle dynamique : on utilise dvh/svh
   et les safe areas plutôt que de dépendre de 100vh. */
html{
  min-height:100%;
  height:auto;
  overflow-y:auto;
  -webkit-text-size-adjust:100%;
}
body{
  min-height:100svh;
  min-height:100dvh;
  height:auto;
  overflow-y:auto;
  overscroll-behavior-y:auto;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.app-shell{
  min-height:100svh;
  min-height:100dvh;
  height:auto;
}
.main-shell{
  min-height:100svh;
  min-height:100dvh;
  height:auto;
}
main{
  min-height:calc(100svh - 76px);
  min-height:calc(100dvh - 76px);
  padding-bottom:max(38px,calc(env(safe-area-inset-bottom,0px) + 28px));
  overflow:visible;
}
.view.active{
  min-height:0;
  padding-bottom:max(18px,env(safe-area-inset-bottom,0px));
}
.sidebar{
  min-height:100svh;
  min-height:100dvh;
  height:100svh;
  height:100dvh;
  overflow-y:auto;
  padding-bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 14px));
}
.topbar{
  padding-top:env(safe-area-inset-top,0px);
  min-height:76px;
  height:auto;
}
/* Les dialogues doivent toujours avoir un bas atteignable sur mobile. */
dialog{
  max-height:calc(100dvh - 20px);
  margin:auto;
}
.dialog-card,
.dialog-card.wide{
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-bottom:max(26px,calc(env(safe-area-inset-bottom,0px) + 20px));
  -webkit-overflow-scrolling:touch;
}
.toast{
  bottom:max(18px,calc(env(safe-area-inset-bottom,0px) + 12px));
}

@media(max-width:1080px){
  .sidebar{
    top:0;
    bottom:0;
    height:100svh;
    height:100dvh;
    max-height:100dvh;
  }
}

@media(max-width:720px){
  body{padding-bottom:env(safe-area-inset-bottom,0px)}
  .topbar{
    min-height:70px;
    height:auto;
    padding-top:max(0px,env(safe-area-inset-top,0px));
  }
  main{
    min-height:calc(100svh - 70px);
    min-height:calc(100dvh - 70px);
    padding-bottom:max(54px,calc(env(safe-area-inset-bottom,0px) + 40px));
  }
  .view.active{
    padding-bottom:max(30px,calc(env(safe-area-inset-bottom,0px) + 20px));
  }
  .home-poster{
    margin-bottom:4px;
  }
  .poster-foot{
    margin-bottom:4px;
  }
  dialog{
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
    max-height:calc(100dvh - 12px);
  }
  .dialog-card,
  .dialog-card.wide{
    max-height:calc(100dvh - 16px);
    padding-bottom:max(34px,calc(env(safe-area-inset-bottom,0px) + 24px));
  }
  .side-status{
    padding-bottom:max(12px,env(safe-area-inset-bottom,0px));
  }
}

@media(max-width:460px){
  main{
    padding-bottom:max(62px,calc(env(safe-area-inset-bottom,0px) + 46px));
  }
  .panel:last-child,
  .documents-list:last-child,
  .audit-list:last-child,
  .cards-list:last-child{
    margin-bottom:12px;
  }
}


/* CF3 — installation PWA explicite */
.install-panel .primary,.install-panel .secondary{margin-top:10px}
.install-status{margin:14px 0;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted);line-height:1.45}
.install-status.ready{border-color:var(--line);background:var(--accent-soft);color:var(--ink)}
.install-status.installed{border-color:rgba(70,225,162,.45);background:rgba(70,225,162,.08);color:var(--ink)}
.install-status.manual{border-color:rgba(0,216,255,.28)}
.install-help-btn{margin-top:9px}
.install-dialog-card{max-width:620px}
.install-instructions{display:grid;gap:12px;color:var(--muted);line-height:1.55}
.install-instructions .install-step{padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.02)}
.install-instructions strong{color:var(--ink)}
.install-instructions ol{margin:.45rem 0 0;padding-left:1.2rem}
@media(max-width:720px){.install-dialog-card{max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(26px,env(safe-area-inset-bottom))}}
