:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0a09;--bg-vignette:radial-gradient(ellipse at top, #1a1611 0%, #0b0a09 60%);--panel:#171310;--panel-alt:#1f1a14;--border:#6b5636;--border-bright:#b8863a;--gold:#c9a227;--gold-bright:#e8c766;--text:#ece4d2;--text-dim:#a89f8c;--danger:#a8352c;--danger-bright:#d1483c;--success:#5a7a3d;--shadow:#000000a6;font:17px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg-vignette), var(--bg);min-height:100vh;color:var(--text);background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--gold-bright);text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px #000;font-weight:600}h1{border-bottom:2px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.6rem}h2{border-bottom:1px solid var(--border);padding-bottom:.3rem;font-size:1.15rem}h3{color:var(--gold);font-size:.95rem}p{color:var(--text-dim)}ul{padding-left:1.1rem}li{margin-bottom:.25rem}label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}input,textarea,select{background:var(--panel-alt);border:1px solid var(--border);color:var(--text);font:inherit;box-shadow:inset 0 1px 3px var(--shadow);border-radius:3px;padding:.45rem .6rem}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:inset 0 1px 3px var(--shadow), 0 0 0 2px #c9a22740;outline:none}button{border:1px solid var(--border);color:var(--gold-bright);text-transform:uppercase;letter-spacing:.04em;font:inherit;cursor:pointer;box-shadow:0 1px 0 #ffffff0d inset, 0 2px 4px var(--shadow);background:linear-gradient(#2a241b,#171310);border-radius:3px;padding:.5rem .9rem;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s}button:hover:not(:disabled){border-color:var(--border-bright);color:#fff}button:active:not(:disabled){box-shadow:inset 0 2px 4px var(--shadow)}button:disabled{opacity:.45;cursor:default}::selection{background:var(--gold);color:#000}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}body:after{content:"";z-index:9999;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 17% 23%,#bea06e0d 0 1px,#0000 1.5px),radial-gradient(circle at 71% 61%,#bea06e0a 0 1px,#0000 1.5px),radial-gradient(circle at 43% 88%,#bea06e0d 0 1px,#0000 1.5px),radial-gradient(circle at 89% 12%,#bea06e0a 0 1px,#0000 1.5px),radial-gradient(at 50% 0,#0000 55%,#00000073 100%);background-size:180px 180px,240px 240px,300px 300px,210px 210px,100% 100%;position:fixed;inset:0}button{clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);background:linear-gradient(#2f2719,#16120c);border-radius:0;transition:color .14s,border-color .14s,box-shadow .14s,transform 60ms;position:relative;box-shadow:inset 0 1px #ffdc961f,inset 0 -2px 6px #0000008c,0 2px 4px #00000080}button:hover:not(:disabled){box-shadow:inset 0 1px #ffdc9633,inset 0 -2px 6px #0000008c,0 0 10px #c9a22740}button:active:not(:disabled){transform:translateY(1px)}.map-cell,.map-cell:hover:not(:disabled){clip-path:none;box-shadow:none;background:0 0;transition:none}.map-cell:active:not(:disabled){transform:none}input,textarea,select{background:linear-gradient(#12100c,#1b1710)!important;border-radius:0!important;box-shadow:inset 0 2px 5px #000000bf!important}.app-shell{position:relative}.app-sidebar{border-right:2px solid var(--border);background-color:#14110c!important;background-image:radial-gradient(circle at 12px 14px,#6b5636 0 1.8px,#0009 2.1px 3.4px,#0000 3.6px),radial-gradient(circle at calc(100% - 12px) 14px,#6b5636 0 1.8px,#0009 2.1px 3.4px,#0000 3.6px),radial-gradient(circle at 12px calc(100% - 14px),#6b5636 0 1.8px,#0009 2.1px 3.4px,#0000 3.6px),radial-gradient(circle at calc(100% - 12px) calc(100% - 14px),#6b5636 0 1.8px,#0009 2.1px 3.4px,#0000 3.6px),linear-gradient(101deg,#0000 0 34%,#7a452629 34% 35.2%,#0000 36%),linear-gradient(94deg,#0000 0 68%,#00000059 68% 68.8%,#0000 69%),linear-gradient(#7a452624,#0000 18%),linear-gradient(#1c1811,#100d09)!important;box-shadow:6px 0 18px #0009!important}.app-brand{background:linear-gradient(#2b2a24,#1a1915);border:1px solid #4a463a;padding:.65rem .7rem .6rem;display:block;box-shadow:inset 0 1px #ffffff0f;letter-spacing:.22em!important;font-size:1.25rem!important}.app-brand:before{content:"Programme de terraformation";letter-spacing:.3em;text-transform:uppercase;color:#6f6a58;margin-bottom:.3rem;font-size:.5rem;font-weight:700;display:block}.app-brand:after{content:"Supervision interrompue";letter-spacing:.2em;text-transform:uppercase;color:#8a4a3a;margin-top:.35rem;font-size:.5rem;font-weight:700;display:block}.app-nav a{clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);align-items:center;gap:.55rem;line-height:1.25;position:relative;white-space:normal!important;background:linear-gradient(#221d15,#15110c)!important;border-radius:0!important;padding-left:1.1rem!important;display:flex!important}.app-nav a>svg{flex-shrink:0}.app-nav a:before{content:"";background:#2a2419;border-radius:50%;width:5px;height:5px;position:absolute;left:.45rem;box-shadow:inset 0 0 2px #000000e6}.app-nav a.active:before{background:var(--gold-bright);box-shadow:0 0 7px #e8c766e6}.app-nav a.active{box-shadow:inset 0 0 12px #c9a22738,0 0 6px #c9a2274d!important}.nav-badge{letter-spacing:.05em;font-weight:700;border-radius:0!important}.status-bay{align-items:center;gap:.35rem;padding:0 .2rem;display:flex}.status-diode{background:#241f1a;border-radius:50%;width:7px;height:7px;box-shadow:inset 0 0 3px #000000e6}.status-diode--on{background:#62d67f;box-shadow:0 0 7px #62d67fcc}.status-diode--failing{background:#d8a12a;animation:3.6s step-end infinite diode-flicker;box-shadow:0 0 7px #d8a12acc}@keyframes diode-flicker{0%,44%,49%,63%,to{opacity:1}46%,60%{opacity:.1}}.status-bay__label{letter-spacing:.2em;text-transform:uppercase;color:#6f6a58;font-size:.55rem;font-weight:700}.telemetry{letter-spacing:.08em;color:#5c5445;white-space:nowrap;border-top:1px solid #2b2a24;border-bottom:1px solid #2b2a24;padding:.3rem 0;font-family:Courier New,ui-monospace,monospace;font-size:.6rem;overflow:hidden}.telemetry__track{padding-left:100%;animation:34s linear infinite telemetry-scroll;display:inline-block}@keyframes telemetry-scroll{to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.status-diode--failing{opacity:.5;animation:none}.telemetry__track{padding-left:0;animation:none}}.app-main h1{letter-spacing:.08em;padding-bottom:.5rem;position:relative}.app-main h1:after{content:"";background:linear-gradient(90deg, var(--gold), transparent);width:210px;height:1px;position:absolute;bottom:0;left:0}.app-main h2,.app-main h3{letter-spacing:.06em}.app-shell{min-height:100vh;display:flex}.app-sidebar{background:var(--panel);border-right:2px solid var(--border);width:240px;box-shadow:4px 0 12px var(--shadow);flex-direction:column;flex-shrink:0;gap:1.25rem;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.app-brand{color:var(--gold-bright);letter-spacing:.15em;text-shadow:0 1px #000;font-size:1.1rem;font-weight:700}.app-nav{flex-direction:column;gap:.4rem;display:flex}.app-nav a{border:1px solid var(--border);background:var(--panel-alt);color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:3px;padding:.5rem .7rem;font-size:.78rem;transition:border-color .15s,color .15s,background .15s;display:block}.app-nav a:hover{border-color:var(--border-bright);color:var(--text)}.app-nav a.active{border-color:var(--gold);color:var(--gold-bright);background:linear-gradient(#3a2f1a,#241d12);box-shadow:0 0 6px #c9a22759}.nav-badge{background:var(--danger);color:#fff;vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:0 .4rem;font-size:.7rem;line-height:1.4rem;display:inline-block}.app-user{color:var(--text-dim);flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:auto;font-size:.85rem;display:flex}.app-main{flex:1;min-width:0;max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem}.app-main--full{max-width:none}
