@font-face{font-family:'Noto Naskh Arabic';src:url('../assets/NotoNaskhArabic-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Naskh Arabic';src:url('../assets/NotoNaskhArabic-Bold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
:root{
  --ink:oklch(0.25 0.035 255);
  --muted:oklch(0.43 0.03 255);
  --paper:oklch(0.975 0.008 255);
  --line:oklch(0.87 0.018 255);
  --navy:#0a1f3d;
  --nav:#0f3460;
  --orange:#e67e22;
  --purple:#6c3483;
  --green:#27ae60;
  --red:#c0392b;
  --teal:#0e7490;
  --focus:#0e7490;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{min-height:100dvh;background:var(--paper);color:var(--ink);font-family:'Noto Naskh Arabic',serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a,input,select{ -webkit-tap-highlight-color:transparent}
button,a{cursor:pointer}
a{color:inherit}
svg{display:block}
img,svg{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip-link{position:fixed;top:8px;right:8px;z-index:20;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:#f5fbfc;color:#0a1f3d;border:2px solid #0e7490}
.skip-link:focus{width:auto;height:auto;padding:10px 16px;clip-path:none}
.topbar{position:sticky;top:0;z-index:10;background:var(--navy);color:#f5f8fd;border-bottom:1px solid #2c6fa0}
.topbar-inner{max-width:1500px;margin:auto;min-height:80px;padding:10px 28px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.brand svg{width:44px;height:44px;fill:#0f3460;stroke:#c8eeda;stroke-width:2.5}
.brand strong{display:block;font-size:25px;line-height:1.1}
.brand small{display:block;color:#dce8f5;font-size:12px;line-height:1.5}
nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto}
nav a{min-height:44px;padding:8px 12px;display:grid;place-items:center;text-decoration:none;color:#eef2f8;border-radius:6px;transition:transform .16s ease-out,opacity .16s ease-out}
nav a:hover{background:#0f3460;transform:translateY(-1px)}
.control-status{display:grid;grid-template-columns:10px auto;column-gap:8px;align-items:center;border-inline-start:1px solid #2c6fa0;padding-inline-start:20px;white-space:nowrap}
.control-status small{grid-column:2;color:#dce8f5;font-size:11px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#c8eeda;box-shadow:0 0 0 4px #27ae6030;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.45;transform:scale(.82)}}
main{max-width:1500px;margin:auto;padding:28px}
.block-wrap{margin:0 0 32px;scroll-margin-top:100px}
.file-bar{min-height:40px;padding:8px 16px;background:var(--navy);color:#f5f8fd;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;border-radius:8px 8px 0 0}
.file-bar.black{background:#000000}
.level-block{overflow:hidden;border-radius:0 0 8px 8px}
.level-header{padding:26px 28px;color:#fff;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:32px;align-items:end}
.level-header h1,.level-header h2{font-size:clamp(27px,3.2vw,46px);line-height:1.35;letter-spacing:-.02em}
.level-header h2{font-size:clamp(25px,2.4vw,36px)}
.level-desc{font-size:17px;line-height:1.8;color:#fff;max-width:65ch}
.section-label{font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;opacity:1}
.s-nav .level-header{background:#0f3460}.s-ora .level-header{background:#e67e22}.s-pur .level-header{background:#6c3483}.s-grn .level-header{background:#27ae60}.s-red .level-header{background:#c0392b}.s-teal .level-header{background:#0e7490}
.s-nav .hero-body{background:#f5f8fd}.s-ora .section-body{background:#fff8f0}.s-pur .section-body{background:#faf5fb}.s-grn .section-body{background:#f5fbf7}.s-red .section-body{background:#fdf8f7}.s-teal .section-body{background:#f5fbfc}
.hero-body{padding:20px}
.mission-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;gap:16px;direction:rtl}
.control-panel,.truth-panel,.network-stage{min-width:0;background:#fff;border:1px solid #dce8f5;border-radius:10px}
.control-panel,.truth-panel{padding:18px}
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #dce8f5;padding-bottom:10px;margin-bottom:10px}
.panel-heading h2{font-size:20px}
.panel-heading>span{font-size:11px;color:#0e7490;border:1px solid #b2e4ef;padding:1px 8px;border-radius:20px}
.panel-copy{font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:14px}
.mode-switch{display:grid;gap:8px}
.mode-btn,.simulate-btn{min-height:44px;border:1px solid #c8d7e8;background:#f5f8fd;color:#0f3460;border-radius:7px;padding:8px 12px;text-align:right;transition:transform .16s ease-out,opacity .16s ease-out}
.mode-btn:hover,.simulate-btn:hover{transform:translateX(-2px)}
.mode-btn.active{background:#0f3460;color:#fff;border-color:#0f3460}
.simulate-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:#a93226;border-color:#f5c6c2;background:#fdf8f7;text-align:center}
.simulate-btn[aria-pressed=true]{background:#c0392b;color:#fff}
.simulate-btn svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.mode-facts{margin-top:16px;border-top:1px solid #dce8f5}
.mode-facts>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f8;font-size:13px}
.mode-facts dt{color:var(--muted)}.mode-facts dd{font-weight:700;text-align:left}
.network-stage{display:flex;flex-direction:column;overflow:hidden}
.stage-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #dce8f5;font-size:13px}
.demo-badge{color:#a93226;background:#fdf0ef;padding:2px 8px;border-radius:4px}
.network-svg{width:100%;flex:1;min-height:300px;background:#f5f8fd}
.endpoint rect,.endpoint circle{fill:#fff;stroke:#0f3460;stroke-width:2}
.endpoint .screen{fill:#0f3460;stroke:#0f3460}.endpoint .port{fill:#27ae60;stroke:none}.endpoint .cloud{fill:#0f3460;stroke:none}
.endpoint text,.path-labels text,.connection-core text{text-anchor:middle;fill:#0f3460;font-family:'Noto Naskh Arabic',serif;font-size:18px;font-weight:700}
.endpoint text.small,.path-labels text.small{font-size:13px;font-weight:400;fill:#4a5568}
.path-base{fill:none;stroke:#dce8f5;stroke-width:12;stroke-linecap:round}
.path-flow{fill:none;stroke:#1e8449;stroke-width:4;stroke-linecap:round;stroke-dasharray:10 10;transition:opacity .2s ease-out,transform .2s ease-out}
.path-flow.secondary{stroke:#1e8449}
.particle{fill:#27ae60;stroke:#f5fbf7;stroke-width:2}.particle-c,.particle-d{fill:#0e7490}
.connection-core rect{fill:#0f3460;stroke:#fff;stroke-width:2}.connection-core text{fill:#fff;font-size:21px}
.network-stage[data-mode=failover] .path-flow.secondary{stroke:#d35400;marker-end:url(#arrow-orange)}
.network-stage[data-mode=failover] .particle-c,.network-stage[data-mode=failover] .particle-d{display:none}
.network-stage[data-mode=single] .path-secondary,.network-stage[data-mode=single] .path-base:nth-of-type(3),.network-stage[data-mode=single] .particle-c,.network-stage[data-mode=single] .particle-d{display:none}
.network-stage[data-mode=single] .path-labels g{display:none}
.network-stage[data-mode=single] #path-secondary,.network-stage[data-mode=single] .particle-c,.network-stage[data-mode=single] .particle-d{display:none}
.network-stage[data-mode=single] .path-labels text:nth-of-type(n+3){display:none}
.network-stage.failure .path-flow.primary{stroke:#c0392b;opacity:.35;stroke-dasharray:3 12}
.network-stage.failure .particle-a,.network-stage.failure .particle-b{display:none}
.network-stage.failure[data-mode=failover] .particle-c,.network-stage.failure[data-mode=failover] .particle-d{display:block}
.network-stage.failure[data-mode=single] .particle-c,.network-stage.failure[data-mode=single] .particle-d{display:none}
.stage-caption{min-height:54px;padding:12px 16px;border-top:1px solid #dce8f5;font-size:14px;color:#0f3460;background:#fff}
.truth-list{list-style:none;display:grid;gap:4px}
.truth-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eef2f8}
.truth-list li>span{margin-top:8px;width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#e67e22;box-shadow:0 0 0 4px #fde8c8}
.truth-list li.done>span{background:#27ae60;box-shadow:0 0 0 4px #c8eeda}
.truth-list strong,.truth-list small{display:block}.truth-list strong{font-size:16px}.truth-list small{font-size:12px;color:var(--muted)}
.primary-action{min-height:48px;margin-top:18px;background:#27ae60;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;font-weight:700;transition:transform .16s ease-out,opacity .16s ease-out}
.primary-action:hover{transform:translateY(-2px)}
.primary-action svg{width:20px;fill:none;stroke:currentColor;stroke-width:2;transform:rotate(180deg)}
.truth-note{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}
.section-body{padding:24px}
.table-scroll{max-width:100%;overflow-x:auto;border-radius:8px}
table{width:100%;table-layout:fixed;border-collapse:collapse;direction:rtl;word-break:break-word;background:#fff;border:1px solid #e0e5ec}
thead th{color:#fff;padding:12px 14px;text-align:right;font-size:16px}
td{padding:12px 14px;vertical-align:top;border-bottom:1px solid #e0e5ec;color:#1a2332}
tbody tr:last-child td{border-bottom:0}
.label{font-weight:700}
.s-ora thead th{background:#d35400}.s-ora tbody tr:nth-child(odd){background:#fff8f0}.s-ora tbody tr:nth-child(even){background:#fdf3e8}
.s-grn thead th{background:#1e8449}.s-grn tbody tr:nth-child(odd){background:#f5fbf7}.s-grn tbody tr:nth-child(even){background:#edfaf3}
code,pre{font-family:'Noto Naskh Arabic',serif}
td code,p code,li code{background:#0a1f3d0d;border-radius:4px;padding:1px 5px;direction:ltr;unicode-bidi:embed;font-size:.92em}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
fieldset{border:1px solid #e8d5f0;background:#fff;border-radius:8px;padding:16px;min-width:0}
legend{padding:0 8px;color:#5b2c6f;font-weight:700;font-size:17px}
label{display:block;margin-top:10px;margin-bottom:3px;font-size:14px;font-weight:700;color:#4b285d}
label:first-of-type{margin-top:0}
input,select{width:100%;min-height:46px;border:1px solid #cdbbd5;border-radius:6px;background:#faf5fb;color:#25142e;padding:7px 10px;text-align:left}
input:invalid:not(:focus):not(:placeholder-shown){border-color:#c0392b}
fieldset small{display:block;color:#6b4b77;font-size:11px;line-height:1.6;margin-top:5px}
.form-actions{display:flex;align-items:center;gap:16px;margin-top:18px}
.generate-btn,.output-actions button{min-height:48px;border:0;border-radius:7px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:transform .16s ease-out,opacity .16s ease-out}
.generate-btn{background:#6c3483;color:#fff}.generate-btn:hover,.output-actions button:hover{transform:translateY(-2px)}
.generate-btn svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8}
#form-message{font-size:14px;color:#a93226}
.generated{margin-top:28px;border-top:1px solid #e8d5f0;padding-top:24px}
.output-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.output-heading h3{font-size:25px;color:#5b2c6f}.output-heading>span{font-size:13px;background:#e8d5f0;color:#4b285d;padding:4px 10px;border-radius:20px}
.output-tabs{display:flex;gap:4px;border-bottom:1px solid #cdbbd5}
.output-tabs button{min-height:46px;padding:8px 20px;border:1px solid transparent;border-bottom:0;background:transparent;color:#5b2c6f;border-radius:6px 6px 0 0}
.output-tabs button[aria-selected=true]{background:#5b2c6f;color:#fff}
.code-panel{background:#111c2e;color:#eef2f8;border-radius:0 0 8px 8px;overflow:hidden}
pre{max-width:100%;overflow:auto;padding:20px;white-space:pre;text-align:left;line-height:1.8;font-size:14px;tab-size:2}
.output-actions{display:flex;gap:8px;margin-top:12px}.output-actions button{background:#5b2c6f;color:#fff;font-size:14px}.output-actions button:last-child{background:#e8d5f0;color:#4b285d}
.command-note{font-size:13px;color:#6b4b77;margin-top:12px}
.package-layout{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:24px;align-items:start}
.download-box{border:1px solid #c8eeda;background:#edfaf3;border-radius:10px;padding:28px;text-align:center}
.download-box>svg{width:64px;margin:0 auto 14px;fill:none;stroke:#1e8449;stroke-width:2.4}
.download-box h3{font-size:25px;color:#155f35}.download-box p{font-size:14px;color:#2c5b40;margin:6px 0 18px}
.download-link{min-height:50px;background:#1e8449;color:#fff;border-radius:7px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;transition:transform .16s ease-out,opacity .16s ease-out}.download-link:hover{transform:translateY(-2px)}
.skill-download{min-height:46px;margin-top:8px;border:1px solid #1e8449;color:#155f35;border-radius:7px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;background:#fff;transition:transform .16s ease-out,opacity .16s ease-out}.skill-download:hover{transform:translateY(-2px)}
.download-box small{display:block;margin-top:14px;font-size:11px;color:#2c5b40;overflow-wrap:anywhere}.download-box small code{display:block;margin-top:4px;font-size:10px}
.success-contract{margin-top:16px;border:1px solid #c8eeda;background:#fff;border-radius:8px;padding:16px}.success-contract>span{font-weight:700;color:#155f35}.success-contract pre{background:#111c2e;color:#c8eeda;border-radius:6px;margin:10px 0;padding:14px}.success-contract p{font-size:13px;color:#2c5b40}
.warning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.warning-grid article{padding:18px 0;border-bottom:1px solid #f5c6c2}.warning-grid article:nth-last-child(-n+2){border-bottom:0}.warning-grid h3{font-size:20px;color:#a93226;margin-bottom:4px}.warning-grid p{font-size:15px;color:#592c27}
.verify-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.verify-steps li{background:#fff;border:1px solid #b2e4ef;border-radius:8px;padding:16px;display:flex;gap:12px;min-width:0}.verify-steps li>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#0e7490;color:#fff;font-weight:700;flex-shrink:0}.verify-steps strong{display:block;color:#0a5c72;font-size:18px}.verify-steps code{display:block;max-width:100%;overflow:auto;background:#e6f6f9;color:#083d4c;margin:8px 0;padding:6px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.verify-steps p{font-size:13px;color:#36545c}
.reference-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.reference-links a{min-height:46px;display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #0e7490;color:#0a5c72;text-decoration:none;border-radius:6px;background:#fff;transition:transform .16s ease-out,opacity .16s ease-out}.reference-links a:hover{transform:translateY(-2px)}.reference-links svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}
footer{background:#0a1f3d;color:#eef2f8;padding:28px}footer>div{max-width:1444px;margin:auto;display:flex;align-items:center;gap:20px}footer strong{font-size:23px}footer p{color:#dce8f5;font-size:14px}footer a{margin-inline-start:auto;min-height:44px;display:grid;place-items:center;color:#c8eeda}
.toast{position:fixed;bottom:24px;left:24px;z-index:15;max-width:calc(100% - 48px);background:#0a1f3d;color:#fff;border:1px solid #0e7490;border-radius:8px;padding:12px 18px;box-shadow:0 8px 30px #0a1f3d30;animation:toast-in .2s ease-out}
@keyframes toast-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@media(max-width:1200px){.mission-grid{grid-template-columns:240px minmax(0,1fr)}.truth-panel{grid-column:1/-1}.truth-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.truth-list li{border-bottom:0}.primary-action{max-width:360px;margin-inline:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verify-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.topbar-inner{flex-wrap:wrap;gap:8px 16px;padding:10px 16px}nav{order:3;width:100%;justify-content:space-between;margin:0;border-top:1px solid #2c6fa0}nav a{padding:6px 8px}.control-status{margin-inline-start:auto}.level-header{grid-template-columns:1fr;gap:12px}.mission-grid{grid-template-columns:1fr}.control-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.control-panel .panel-heading,.control-panel .panel-copy,.control-panel .mode-facts{grid-column:1/-1}.simulate-btn{margin-top:0;align-self:end}.truth-list{grid-template-columns:repeat(2,minmax(0,1fr))}.package-layout{grid-template-columns:1fr}.download-box{display:grid;grid-template-columns:auto 1fr;column-gap:16px;text-align:right;align-items:center}.download-box>svg{grid-row:1/5;margin:0}.download-box p{margin:0}.download-link{margin-top:10px}.download-box small{margin-top:8px}.warning-grid{grid-template-columns:1fr}.warning-grid article:nth-last-child(2){border-bottom:1px solid #f5c6c2}footer>div{flex-wrap:wrap}}
@media(max-width:600px){body{font-size:16px}main{padding:12px}.block-wrap{margin-bottom:20px}.topbar-inner{padding:8px 12px}.brand small{display:none}.brand strong{font-size:22px}.brand svg{width:38px;height:38px}.control-status{font-size:12px;padding-inline-start:10px}.control-status small{display:none}nav a{font-size:13px;min-height:44px}.file-bar{font-size:11px;padding:7px 10px}.level-header{padding:20px 16px}.level-header h1{font-size:30px}.level-header h2{font-size:27px}.level-desc{font-size:15px}.hero-body,.section-body{padding:12px}.control-panel{display:block}.simulate-btn{margin-top:12px}.truth-list{grid-template-columns:1fr}.network-svg{min-height:230px}.form-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.generate-btn{width:100%}.output-heading{align-items:flex-start;flex-direction:column}.output-tabs button{padding:8px 14px}.output-actions{flex-direction:column}.output-actions button{width:100%}.verify-steps{grid-template-columns:1fr}.download-box{display:block;text-align:center}.download-box>svg{margin:0 auto 12px}.download-box p{margin:6px 0 14px}.download-link{margin-top:12px}.warning-grid article{padding:14px 0}footer>div{display:block;text-align:center}footer p{margin:4px 0}footer a{margin:0}.reference-links{flex-direction:column}.reference-links a{justify-content:center}.toast{left:12px;bottom:12px;max-width:calc(100% - 24px)}td,thead th{padding:9px 8px;font-size:13px}pre{font-size:12px;padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.flow-particles{display:none}.path-flow{stroke-dasharray:none}}
