.worldsim-architecture{--wsa-accent:var(--accent,#725387);margin:28px 0;border:1px solid var(--line,#ddd7cb);border-top:4px solid var(--wsa-accent);background:var(--surface,#fffdf8);color:var(--ink,#242224);overflow:hidden}
.worldsim-architecture *{box-sizing:border-box}
.wsa-heading{padding:24px 26px 21px}
.worldsim-architecture .wsa-kicker{display:block;color:var(--wsa-accent);font:700 10px/1.5 var(--sans,sans-serif);letter-spacing:.11em;text-transform:uppercase}
.worldsim-architecture .wsa-heading h3{margin:9px 0 11px;color:var(--ink);font:700 34px/1.08 var(--display,sans-serif)}
.worldsim-architecture .wsa-heading p{margin:0;font-size:12px;line-height:1.7;color:var(--muted)}
.wsa-modes{display:grid;grid-template-columns:1.35fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.worldsim-architecture .wsa-modes button{appearance:none;border:0;border-radius:0;background:transparent;color:var(--ink);padding:17px 20px;text-align:left;cursor:pointer;font:700 12px/1.6 var(--sans,sans-serif);box-shadow:inset 0 -3px transparent}
.worldsim-architecture .wsa-modes button+button{border-left:1px solid var(--line)}
.worldsim-architecture .wsa-modes button[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 -3px var(--wsa-accent)}
.worldsim-architecture button:focus-visible{outline:3px solid var(--wsa-accent);outline-offset:-4px}
.worldsim-architecture .wsa-modes button:hover,.worldsim-architecture .wsa-stage:hover,.worldsim-architecture .wsa-output-buttons button:hover{background:var(--surface-soft,var(--accent-soft))}
.wsa-diagram{padding:21px 26px;background:var(--surface-soft,var(--accent-soft))}
.worldsim-architecture .wsa-input{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);font:700 11px/1.7 var(--sans,sans-serif);color:var(--muted)}
.worldsim-architecture .wsa-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin:0;padding:0;list-style:none}
.worldsim-architecture .wsa-flow-use{grid-template-columns:repeat(3,minmax(0,1fr))}
.wsa-flow>li{min-width:0;position:relative}
.worldsim-architecture .wsa-stage{appearance:none;width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin:0;padding:14px 12px;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--ink);font-family:var(--sans,sans-serif);text-align:left;cursor:pointer}
.worldsim-architecture .wsa-stage[aria-pressed=true]{border-color:var(--wsa-accent);box-shadow:inset 0 3px var(--wsa-accent);background:var(--accent-soft)}
.wsa-stage-number{display:grid;place-items:center;flex:none;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-size:9px;font-weight:700;color:var(--wsa-accent)}
.wsa-stage-copy{display:block;min-width:0}
.wsa-stage-copy>strong{display:block;margin-bottom:8px;font:700 24px/1.1 var(--display,sans-serif);overflow-wrap:break-word}
.wsa-stage-copy>span{display:block;font-size:10px;line-height:1.65;color:var(--muted)}
.wsa-arrow{position:absolute;left:100%;top:50%;width:19px;transform:translateY(-50%);text-align:center;font:500 18px/1 var(--sans,sans-serif);color:var(--wsa-accent)}
.worldsim-architecture .wsa-loop{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;padding-top:13px;border-top:1px dashed var(--wsa-accent);font-size:11px;line-height:1.7;color:var(--muted)}
.wsa-loop>span:first-child{flex:none;color:var(--wsa-accent);font-size:25px;line-height:1}
.wsa-detail{padding:19px 26px 21px;border-top:1px solid var(--line);min-height:114px}
.worldsim-architecture .wsa-detail h4,.worldsim-architecture .wsa-output-detail h4{margin:0 0 7px;color:var(--ink);font:700 24px/1.12 var(--display,sans-serif)}
.worldsim-architecture .wsa-detail p,.worldsim-architecture .wsa-output-detail p{margin:0;font-size:12px;line-height:1.75;color:var(--muted);max-width:70ch}
.wsa-physical{padding:17px 26px 19px;border-top:1px dashed var(--wsa-accent);background:var(--surface-soft,var(--accent-soft))}
.wsa-physical[hidden]{display:none}
.worldsim-architecture .wsa-physical h4{margin:0 0 7px;font:700 11px/1.6 var(--sans,sans-serif);color:var(--ink)}
.wsa-physical h4>span{font-weight:400;color:var(--muted)}
.worldsim-architecture .wsa-physical p{margin:0;font-size:11px;line-height:1.75;color:var(--muted)}
.wsa-outputs{padding:20px 26px 23px;border-top:1px solid var(--line)}
.worldsim-architecture .wsa-outputs>h4{margin:0 0 13px;font:700 11px/1.6 var(--sans,sans-serif);color:var(--ink)}
.wsa-output-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.worldsim-architecture .wsa-output-buttons button{appearance:none;border:0;border-radius:0;background:transparent;color:var(--ink);padding:10px 8px;cursor:pointer;font:700 11px/1.6 var(--sans,sans-serif)}
.worldsim-architecture .wsa-output-buttons button+button{border-left:1px solid var(--line)}
.worldsim-architecture .wsa-output-buttons button[aria-pressed=true]{color:var(--wsa-accent);background:var(--accent-soft);box-shadow:inset 0 -2px var(--wsa-accent)}
.wsa-output-detail{display:flex;align-items:flex-start;gap:16px;margin-top:17px;min-height:89px}
.wsa-output-mark{display:grid;place-items:center;flex:none;min-width:65px;min-height:65px;padding:8px;border:1px solid var(--line);color:var(--wsa-accent);background:var(--surface-soft,var(--accent-soft));font:700 11px/1.5 var(--sans,sans-serif);letter-spacing:.03em}
.wsa-output-detail>div{min-width:0;padding-top:3px}
.wsa-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 18px;padding:15px 26px;border-top:1px solid var(--line);background:var(--surface-soft,var(--accent-soft))}
.worldsim-architecture .wsa-footer p{margin:0;font-size:10px;line-height:1.7;color:var(--muted)}
.wsa-footer>a{font:700 10px/1.7 var(--sans,sans-serif);color:var(--wsa-accent);text-decoration:underline;text-underline-offset:3px}
.wsa-footer>a:focus-visible{outline:2px solid var(--wsa-accent);outline-offset:4px}
@media(max-width:760px){
  .wsa-heading{padding:21px 20px 19px}
  .wsa-diagram,.wsa-outputs{padding:20px}
  .wsa-detail{padding:19px 20px 21px}
  .wsa-physical{padding:17px 20px 19px}
  .wsa-footer{padding:14px 20px}
  .worldsim-architecture .wsa-modes button{padding:14px 15px;font-size:11px}
  .worldsim-architecture .wsa-flow{grid-template-columns:1fr;gap:20px}
  .worldsim-architecture .wsa-stage{flex-direction:row;align-items:center;gap:13px;padding:13px 14px}
  .wsa-stage-copy>strong{font-size:24px;margin-bottom:4px}
  .wsa-stage-copy>span{font-size:11px}
  .wsa-arrow{top:100%;left:50%;display:grid;place-items:center;width:20px;height:20px;transform:translateX(-50%) rotate(90deg)}
}
@media(max-width:420px){
  .worldsim-architecture .wsa-heading h3{font-size:29px}
  .wsa-output-detail{gap:11px}
  .wsa-output-mark{min-width:51px;min-height:55px;font-size:9px;padding:6px}
  .worldsim-architecture .wsa-output-detail h4{font-size:22px}
  .worldsim-architecture .wsa-output-detail p{font-size:11px}
}
