/* Schreibwerkstatt: alle Regeln sind auf .sw begrenzt, damit sie Host-Seiten nicht beeinflussen. */
.sw{--paper:#E6EAE3; --card:#FBFBF7; --soft:#DCE2DA; --ink:#1C2826; --muted:#586661; --rule:#C3CCC2;
  --ai:#2D6887; --hy:#9E7120; --hu:#94302F; --ok:#3B6A43;
  --con-bg:#1C2826; --con-fg:#E3E8E1; --con-dim:#9EAEA7; --con-room:#E2B25B; --con-err:#EE9A92; --con-ok:#A7D3AC; --con-warn:#E8C77E;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  color-scheme: light;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .sw{--paper:#131918; --card:#1C2422; --soft:#222C29; --ink:#E1E7E2; --muted:#98A6A0; --rule:#34413D;
    --ai:#72AFD0; --hy:#D9A84E; --hu:#DE7070; --ok:#82BD8B;
    --con-bg:#0D1211; --con-fg:#D7DFD9; --con-dim:#8C9A94; --con-room:#E2B25B; --con-err:#EE9A92; --con-ok:#A7D3AC; --con-warn:#E8C77E;
    color-scheme: dark;}
}
:root[data-theme="dark"] .sw{--paper:#131918; --card:#1C2422; --soft:#222C29; --ink:#E1E7E2; --muted:#98A6A0; --rule:#34413D;
  --ai:#72AFD0; --hy:#D9A84E; --hu:#DE7070; --ok:#82BD8B;
  --con-bg:#0D1211; --con-fg:#D7DFD9; --con-dim:#8C9A94; --con-room:#E2B25B; --con-err:#EE9A92; --con-ok:#A7D3AC; --con-warn:#E8C77E;
  color-scheme: dark;}
.sw, .sw *{box-sizing:border-box}
.sw{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
.sw .wrap{max-width:1180px;margin:0 auto;padding:20px 20px 64px}
.sw h1, .sw h2, .sw h3, .sw h4{font-family:var(--serif);font-weight:500;margin:0}
.sw p{margin:0}
.sw a{color:var(--ai)}
.sw select, .sw input, .sw textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:7px 9px;max-width:100%}
.sw textarea{width:100%;resize:vertical;font-family:var(--serif);font-size:16px;line-height:1.55}
.sw input[type="checkbox"], .sw input[type="radio"]{accent-color:var(--ink)}
.sw button{font:inherit;font-weight:500;cursor:pointer;border-radius:3px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:7px 12px;line-height:1.2}
.sw button.primary{background:var(--ink);color:var(--card)}
.sw button.quiet{border-color:var(--rule)}
.sw button.sm{padding:4px 9px;font-size:13px}
.sw button:disabled{opacity:.45;cursor:not-allowed}
.sw :focus-visible{outline:2px solid var(--ai);outline-offset:2px}
.sw .muted{color:var(--muted)}
.sw .small{font-size:13px}
.sw .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sw header.top{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;justify-content:space-between;padding:6px 0 20px}
.sw .brand h1{font-size:clamp(30px,4.2vw,44px);line-height:1;letter-spacing:-.015em}
.sw .brand p{margin-top:6px;color:var(--muted);max-width:62ch}
.sw .projbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sw .projbar select{min-width:220px}
.sw .tabs{display:flex;gap:3px;overflow-x:auto;padding:0 8px;margin-bottom:-1px;position:relative;z-index:1}
.sw .tab{border:1px solid var(--rule);border-bottom:none;border-radius:7px 7px 0 0;background:var(--soft);color:var(--muted);padding:9px 16px 8px;white-space:nowrap}
.sw .tab[aria-selected="true"]{background:var(--card);color:var(--ink);font-weight:600;padding-bottom:9px}
.sw .panel{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:26px;min-height:440px}
.sw .status{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;color:var(--muted);font-size:13px;padding:10px 4px 0}
.sw .status button{border:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px}
.sw .mode{display:inline-block;font-size:12px;font-weight:600;color:var(--card);padding:2px 7px;border-radius:2px;white-space:nowrap}
.sw .m-ai{background:var(--ai)}
.sw .m-hy{background:var(--hy)}
.sw .m-hu{background:var(--hu)}
.sw .mode-old{font-size:12px;color:var(--muted);margin-right:6px}
.sw .gate{display:inline-block;font-size:12px;font-weight:600;color:var(--hu);border:1px solid var(--hu);padding:1px 6px;border-radius:2px;margin-left:6px}
.sw .flag{display:inline-block;font-size:12px;font-weight:600;padding:1px 6px;border-radius:2px;border:1px solid currentColor;white-space:nowrap}
.sw .f-hu{color:var(--hu)}
.sw .f-hy{color:var(--hy)}
.sw .f-ok{color:var(--ok)}
.sw .ix{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:12px 14px 30px;box-shadow:0 1px 0 var(--rule)}
.sw .ix::after{content:"";position:absolute;left:50%;bottom:9px;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--paper);box-shadow:inset 0 1px 2px rgba(0,0,0,.28)}
.sw .ix-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;border-bottom:1.5px solid var(--hu);padding-bottom:6px;margin-bottom:9px}
.sw .drawer{background:var(--soft);border-radius:3px;padding:16px}
.sw .start{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
.sw .start h2{font-size:clamp(26px,3.2vw,34px);line-height:1.1;max-width:22ch}
.sw .start .lede{font-family:var(--serif);font-size:18px;line-height:1.6;max-width:64ch;margin-top:10px}
.sw .typegrid{border:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.sw .typegrid legend{font-weight:600;margin-bottom:10px}
.sw .typecard{cursor:pointer;display:flex;flex-direction:column;gap:6px}
.sw .typecard input{position:absolute;opacity:0;pointer-events:none}
.sw .typecard strong{font-family:var(--serif);font-size:21px;font-weight:500}
.sw .typecard .tc-m{font-size:13px;color:var(--muted)}
.sw .typecard:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.sw .typecard:has(input:focus-visible){outline:2px solid var(--ai);outline-offset:2px}
.sw .fld{display:flex;flex-direction:column;gap:5px;font-weight:500;font-size:14px}
.sw .fld input, .sw .fld select, .sw .fld textarea{font-weight:400}
.sw .newform{display:grid;gap:18px}
.sw .proc-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;margin-bottom:30px}
.sw .proc-top .lede{font-family:var(--serif);font-size:17px;line-height:1.6;max-width:62ch}
.sw .proc-top ul{margin:0;padding-left:18px}
.sw .proc-top li{margin:3px 0}
.sw .phase{margin-top:26px}
.sw .phase-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule);padding-bottom:6px}
.sw .phase-h h3{font-size:22px}
.sw .steps{list-style:none;margin:0;padding:0}
.sw .step{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--soft)}
.sw .stat{width:28px;height:28px;padding:0;border-radius:50%;border:1.5px solid var(--muted);font-size:14px;display:grid;place-items:center}
.sw .step.s-arbeit .stat{border-color:var(--hy);background:linear-gradient(90deg,var(--hy) 50%,transparent 50%)}
.sw .step.s-fertig .stat{border-color:var(--ok);background:var(--ok);color:var(--card)}
.sw .step.s-fertig .st-title{color:var(--muted)}
.sw .st-title{display:block;font-weight:500}
.sw .st-r{display:block;font-size:13px;color:var(--muted)}
.sw .st-a{display:flex;gap:6px}
.sw .toolgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.sw .toolgrid h4{font-size:20px;margin-bottom:6px}
.sw .toolgrid p{font-size:14px;margin-bottom:12px}
.sw .cardbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:14px}
.sw .cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.sw .cardgrid h4{font-size:19px;line-height:1.25;margin-bottom:6px}
.sw .ctype{font-size:12px;font-weight:600;color:var(--muted)}
.sw .cbody{font-family:var(--serif);font-size:15.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
.sw .csrc{font-size:13px;color:var(--muted);margin-top:6px}
.sw .cfoot{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.sw .flags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.sw .empty{padding:34px 10px;text-align:center;color:var(--muted)}
.sw .empty p{max-width:50ch;margin:0 auto 12px}
.sw .world-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.sw .console{background:var(--con-bg);color:var(--con-fg);font-family:var(--mono);font-size:13.5px;line-height:1.55;border-radius:3px 3px 0 0;padding:14px 16px;height:360px;overflow:auto}
.sw .console div{white-space:pre-wrap;word-break:break-word}
.sw .c-room{color:var(--con-room);font-weight:500;margin-top:10px}
.sw .c-err{color:var(--con-err)}
.sw .c-ok{color:var(--con-ok)}
.sw .c-warn{color:var(--con-warn)}
.sw .c-dim{color:var(--con-dim)}
.sw .c-cmd{color:var(--con-dim);margin-top:8px}
.sw .con-form{display:flex;background:var(--con-bg);border-radius:0 0 3px 3px;border-top:1px solid rgba(255,255,255,.12)}
.sw .con-form label{color:var(--con-room);font-family:var(--mono);padding:10px 0 10px 16px}
.sw .con-form input{flex:1;background:transparent;color:var(--con-fg);border:none;font-family:var(--mono);font-size:14px;padding:10px 12px}
.sw .con-form input:focus-visible{outline:none}
.sw .con-form:focus-within{box-shadow:0 0 0 2px var(--ai)}
.sw .check h3{font-size:22px}
.sw .check ul{list-style:none;margin:10px 0 0;padding:0;max-height:330px;overflow:auto}
.sw .check li{padding:7px 0;border-bottom:1px solid var(--soft);font-size:14px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px}
.sw .lvl{font-size:12px;font-weight:600}
.sw .lvl-err .lvl{color:var(--hu)}
.sw .lvl-warn .lvl{color:var(--hy)}
.sw .lvl-hint .lvl{color:var(--muted)}
.sw .airead{margin-top:18px}
.sw .aiout{font-family:var(--serif);font-size:16px;line-height:1.6;white-space:pre-wrap;margin-top:10px;max-height:380px;overflow:auto}
.sw .editors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.sw .editors h3{font-size:21px}
.sw .edcol-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid var(--rule);padding-bottom:6px;margin-bottom:8px}
.sw .wlist{list-style:none;margin:0;padding:0}
.sw .wrow{border-bottom:1px solid var(--soft);padding:8px 0}
.sw .wrow-h{display:flex;gap:6px;align-items:center}
.sw .wrow-h input{flex:1;min-width:0}
.sw .num{font-family:var(--serif);font-size:18px;width:24px;text-align:right;color:var(--muted)}
.sw .wrow-b{display:grid;gap:10px;padding:10px 0 4px 30px}
.sw .wrow-b fieldset{border:1px solid var(--rule);border-radius:3px;padding:6px 10px;margin:0;max-height:150px;overflow:auto}
.sw .wrow-b legend{font-size:13px;font-weight:600;padding:0 4px}
.sw .chk{display:flex;gap:6px;align-items:center;font-size:14px;padding:2px 0}
.sw .chat{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}
.sw .personas{display:grid;gap:6px;align-content:start}
.sw .persona{text-align:left;border-color:var(--rule);padding:9px 11px}
.sw .persona[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--hy)}
.sw .persona span{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px}
.sw .ctx{margin-top:14px;display:grid;gap:4px}
.sw .thread{height:440px;overflow:auto;border:1px solid var(--rule);border-radius:3px;padding:14px;background:var(--paper)}
.sw .msg{max-width:72ch;margin:0 0 14px}
.sw .msg .who{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:3px}
.sw .msg .txt{font-family:var(--serif);font-size:16px;line-height:1.6;white-space:pre-wrap;background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:10px 13px}
.sw .msg.user{margin-left:auto}
.sw .msg.user .txt{background:var(--soft)}
.sw .msg .err{color:var(--hu);font-size:13px;margin-top:4px}
.sw .composer{margin-top:10px;display:grid;gap:8px}
.sw .logtable{width:100%;border-collapse:collapse;font-size:14px}
.sw .logwrap{overflow-x:auto;margin-top:16px}
.sw .logtable th, .sw .logtable td{text-align:left;padding:7px 10px 7px 0;border-bottom:1px solid var(--soft);vertical-align:top}
.sw .logtable th{font-weight:600;color:var(--muted);font-size:13px}
.sw .modal{position:fixed;inset:0;background:rgba(10,15,14,.5);display:grid;place-items:center;padding:16px;z-index:50}
.sw .modal[hidden]{display:none}
.sw .modal-box{background:var(--card);border:1px solid var(--rule);border-radius:4px;width:min(680px,100%);max-height:92vh;overflow:auto;padding:22px}
.sw .modal-box h3{font-size:24px;margin-bottom:12px}
.sw .modal-body{display:grid;gap:14px}
.sw .modal-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:18px}
.sw .note{font-size:13px;color:var(--hu);min-height:1em}
@media (max-width: 900px){
  .sw .proc-top, .sw .world-top, .sw .chat{grid-template-columns:minmax(0,1fr)}
  .sw .editors{grid-template-columns:minmax(0,1fr)}
  .sw .step{grid-template-columns:34px minmax(0,1fr);}
  .sw .st-m, .sw .st-a{grid-column:2}
  .sw .panel{padding:18px}
}
@media (prefers-reduced-motion: reduce){
  .sw, .sw *{scroll-behavior:auto!important}
}
