:root{--ink: #0b1220;--ink-2: #0f1830;--panel: #111d36;--panel-2: #16243f;--line: #1e3354;--line-soft: #18283f;--fg: #e7eefc;--fg-dim: #9fb2d4;--fg-faint: #64789e;--signal: #38f5a7;--signal-deep: #0fbf7e;--amber: #ffb454;--amber-deep: #e8902a;--violet: #8b9cff;--danger: #ff6b81;--grid: rgba(56, 245, 167, .05);--radius: 4px;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Sora", system-ui, sans-serif;--shadow: 0 24px 60px -24px rgba(0, 0, 0, .7)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--fg);background:linear-gradient(180deg,#0b122000,#0b122099),linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 28px 28px,var(--ink);background-attachment:fixed;-webkit-font-smoothing:antialiased;line-height:1.5}html[dir=rtl] body{direction:rtl}a{color:var(--violet);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--sans);cursor:pointer}code,pre,.mono{font-family:var(--mono)}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--ink-2),var(--ink));padding:22px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.navlink{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--fg-dim);padding:9px 12px;border-radius:var(--radius);display:flex;align-items:center;gap:10px;border:1px solid transparent}.navlink:hover{color:var(--fg);background:var(--panel);text-decoration:none}.navlink.active{color:var(--signal);background:var(--panel);border-color:var(--line)}.navlink .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6}.nav-section{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin:18px 12px 6px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:58px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#0b1220b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.content{padding:30px 26px 80px;max-width:1080px;width:100%;margin:0 auto}.logo{font-family:var(--mono);font-weight:700;letter-spacing:-.02em;font-size:17px;display:inline-flex;align-items:center;gap:9px;color:var(--fg)}.logo .glyph{width:26px;height:26px;border-radius:5px;display:grid;place-items:center;background:linear-gradient(135deg,var(--signal),var(--signal-deep));color:#042;font-weight:800;box-shadow:0 0 0 1px #38f5a766,0 8px 24px -8px var(--signal-deep)}.logo b{color:var(--signal)}h1,h2,h3{font-family:var(--mono);font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em}h1{font-size:30px}h2{font-size:20px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}.muted{color:var(--fg-dim)}.faint{color:var(--fg-faint)}.panel{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative}.panel:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px dashed var(--line-soft);border-radius:2px;pointer-events:none;opacity:.5}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 820px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.sidebar{display:none}}.btn{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.02em;padding:11px 18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--fg);transition:.15s;display:inline-flex;gap:8px;align-items:center}.btn:hover{border-color:var(--signal);color:var(--signal)}.btn.primary{background:linear-gradient(135deg,var(--signal),var(--signal-deep));color:#042;border-color:transparent}.btn.primary:hover{color:#021;filter:brightness(1.08)}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.pill{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--fg-dim)}.pill.ok{color:var(--signal);border-color:#38f5a766;background:#38f5a714}.pill.warn{color:var(--amber);border-color:#ffb45459;background:#ffb45414}.pill.bad{color:var(--danger);border-color:#ff6b8159}label{font-family:var(--mono);font-size:12px;color:var(--fg-dim);display:block;margin:0 0 6px;letter-spacing:.02em}input,textarea,select{width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--fg);border-radius:var(--radius);padding:11px 12px;font-family:var(--sans);font-size:14px}textarea{font-family:var(--mono);font-size:12.5px;line-height:1.6;min-height:360px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px #38f5a71f}.hero{position:relative;padding:80px 26px 60px;max-width:1100px;margin:0 auto}.hero h1{font-size:clamp(34px,6vw,62px);line-height:1.02;letter-spacing:-.03em}.hero h1 .accent{color:var(--signal)}.hero .sub{font-size:18px;color:var(--fg-dim);max-width:560px;margin:18px 0 30px}.scanline{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}.props{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}@media (max-width: 820px){.props{grid-template-columns:1fr}}.prop{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#111d3680}.prop .n{font-family:var(--mono);font-size:11px;color:var(--signal)}.prop h3{font-size:15px;margin:8px 0 6px}.prop p{margin:0;font-size:13.5px;color:var(--fg-dim)}.timeline{display:flex;flex-direction:column;gap:6px}.phase-row{display:grid;grid-template-columns:26px 1fr auto auto;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--ink-2)}.phase-row .lvl{font-family:var(--mono);font-size:10px;color:var(--fg-faint)}.phase-row .nm{font-family:var(--mono);font-size:13px}.phase-row .bar{width:120px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.phase-row .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--signal-deep),var(--signal))}.tick{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px}.tick.done{background:#38f5a726;color:var(--signal)}.tick.flag{background:#ffb45426;color:var(--amber)}.reqs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media (max-width: 820px){.reqs{grid-template-columns:1fr}}.req{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;padding:7px 10px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--ink-2)}.req .id{color:var(--fg-faint);width:52px}.req .mk{width:16px;text-align:center}.req.pass .mk{color:var(--signal)}.req.fail .mk{color:var(--danger)}.req .nm{color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-soft)}th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.help-fab{position:fixed;bottom:22px;inset-inline-end:22px;z-index:50;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(135deg,var(--amber),var(--amber-deep));color:#2a1600;font-family:var(--mono);font-weight:800;font-size:18px;box-shadow:var(--shadow)}.help-fab:hover{filter:brightness(1.08)}.auth{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh}@media (max-width: 900px){.auth{grid-template-columns:1fr}.auth .auth-aside{display:none}}.auth-aside{border-inline-end:1px solid var(--line);padding:56px 48px;background:linear-gradient(160deg,var(--ink-2),var(--ink));position:relative;overflow:hidden}.auth-form{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;max-width:460px}.auth-form .field{margin-bottom:16px}.divider{display:flex;align-items:center;gap:12px;color:var(--fg-faint);font-family:var(--mono);font-size:11px;margin:18px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{animation:rise .5s both}.reveal:nth-child(1){animation-delay:.02s}.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.14s}.reveal:nth-child(4){animation-delay:.2s}.reveal:nth-child(5){animation-delay:.26s}@keyframes blink{50%{opacity:.35}}.cursor:after{content:"▋";color:var(--signal);animation:blink 1s steps(1) infinite;margin-inline-start:2px}.stat{font-family:var(--mono)}.stat .v{font-size:26px;color:var(--signal)}.stat .l{font-size:11px;color:var(--fg-faint);letter-spacing:.1em;text-transform:uppercase}.kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--line);border-radius:3px;padding:1px 6px;color:var(--fg-dim)}hr.sep{border:none;border-top:1px dashed var(--line);margin:26px 0}.toast{position:fixed;bottom:22px;inset-inline-start:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--signal);color:var(--fg);padding:12px 18px;border-radius:var(--radius);font-family:var(--mono);font-size:13px;z-index:60;box-shadow:var(--shadow)}
