:root{--ink:#233c36;--muted:#60756b;--accent:#246e60;--line:#d4e0d3;--paper:#f5f7ef;--gold:#c69a46}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink)}body{font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b88a26}.workshop{max-width:1120px;margin:auto;padding:30px 24px 26px;min-width:0}.workshop-header{max-width:830px;margin-bottom:24px}.eyebrow{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--accent);margin:0 0 7px}h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.035em;font-weight:800;margin:0 0 14px}h2{font-size:clamp(1.2rem,2.5vw,1.5rem);line-height:1.3;font-weight:800;margin:0 0 12px}h3{font-size:1.02rem;font-weight:800;line-height:1.4}p{margin:0 0 14px}.intro{color:var(--muted)}.mode-banner{border:1px solid #dfc48e;background:#fcf4df;border-left:4px solid var(--gold);border-radius:12px;padding:20px;margin:20px 0}.mode-banner h2{font-size:1.12rem;margin-bottom:9px}.mode-banner p{font-size:.9rem;margin:0;color:#6b6046}.mode-banner.php{background:#eaf3e4;border-color:#bed3b6}.recipe-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;background:#e6eddf;padding:8px;border-radius:15px;margin-top:22px}.recipe-nav button{min-height:58px;text-align:left;padding:10px 13px;border:1px solid transparent;border-radius:10px;background:none;color:#466451;font-size:.86rem;font-weight:750}.recipe-nav button[data-active=true]{background:white;border-color:#c7d7c0;color:var(--accent)}.recipe-nav button span{display:block;font-size:.68rem;color:#73856c;margin-bottom:3px}.recipe-help{padding:14px 17px;border-left:3px solid var(--gold);background:#fcf6e8;border-radius:0 10px 10px 0;margin:15px 0 22px;font-size:.9rem;color:#625d49}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.metrics>div{padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:#eaf2e2;min-width:0}.metrics span{display:block;font-size:.78rem;color:var(--muted);line-height:1.4}.metrics strong{display:block;font-size:1.65rem;line-height:1.35;font-weight:800;overflow-wrap:anywhere}.workspace-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.45fr);gap:18px;align-items:start}.surface{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;min-width:0}.section-top{display:flex;gap:12px;align-items:start;justify-content:space-between;margin-bottom:14px}.section-top h2{margin:0}.section-top .btn{font-size:.79rem;padding:8px 10px}.btn{min-height:44px;padding:10px 15px;border-radius:9px;font-size:16px;font-weight:750;line-height:1.4;white-space:normal}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-accent{color:white;background:var(--accent);border:1px solid var(--accent)}.btn-accent:hover,.btn-accent:focus{color:white;background:#1a4f46}.btn-soft{color:#315e4f;background:#fff;border:1px solid #c6d5c2}.btn-soft:hover{background:#edf4e6;color:#203e31}.btn-danger-soft{color:#983f2b;background:#fff0e7;border:1px solid #d5ac98}.hint{font-size:.8rem;color:var(--muted);line-height:1.5;margin:7px 0 13px}.field{margin-bottom:17px;min-width:0}.field>label,.form-label{font-size:.87rem;font-weight:750;margin-bottom:6px;display:block}.form-control,.form-select{min-height:46px;border-color:#c7d6c3;border-radius:8px;background:#fbfcf7;color:var(--ink);font-size:16px}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #236e6117}.form-control[aria-invalid=true],.form-select[aria-invalid=true]{border-color:#ab4831}.field>label.check-label{display:flex;align-items:center;gap:11px;min-height:44px}.check-label input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.operation-note{background:#f2f6eb;border:1px solid #dde7d3;border-radius:10px;padding:13px;font-size:.85rem}.field-error{color:#a0442d;font-weight:650;font-size:.88rem}.field-error:empty{display:none}.file-tree{display:grid;gap:13px}.folder{border:1px solid #dce5d4;border-radius:10px;overflow:hidden}.folder h3{background:#edf3e6;margin:0;padding:11px 12px;font-size:.87rem;display:flex;align-items:center;justify-content:space-between;gap:10px}.folder h3 small{font-size:.7rem;font-weight:600;color:#728366}.folder-content{padding:7px;display:grid;gap:5px}.file-item{width:100%;border:1px solid transparent;background:#fff;text-align:left;padding:10px;border-radius:8px;min-height:62px;color:var(--ink)}.file-item:hover,.file-item[aria-pressed=true]{background:#f0f6e8;border-color:#c4d8ba}.file-item strong{display:block;font-size:.85rem;line-height:1.45;overflow-wrap:anywhere}.file-item code{display:block;font-size:.7rem;color:#6f826b;margin:4px 0;overflow-wrap:anywhere;white-space:normal}.file-item span{font-size:.72rem;color:var(--muted)}.folder-empty{font-size:.8rem;color:var(--muted);padding:9px 11px;margin:0}.result{margin:22px 0}.result:focus{outline:0}.result:focus-visible{outline:3px solid #b88a26}.result-badge{border:1px solid #d7d3ad;border-radius:12px;padding:4px 9px;background:#faf4dd;color:#786232;white-space:nowrap;font-size:.72rem;font-weight:700}.result.success{border-color:#a6c695;background:#f4f9ee}.result.error{border-color:#d6ab93;background:#fff5ed}.result.error #result-message{color:#97402b}.before-after{display:grid;grid-template-columns:1fr 30px 1fr;gap:8px;margin:18px 0}.before-after>div{background:#edf3e5;border:1px solid #d4e1c8;border-radius:10px;padding:12px;min-width:0}.before-after>span{display:grid;place-items:center;font-size:1.4rem;color:#6d8461}.before-after strong{display:block;font-size:.8rem;color:#5f7857}.before-after p{font-size:.93rem;font-weight:750;margin:5px 0 0}.change-list{font-size:.85rem;padding-left:20px;overflow-wrap:anywhere}.result-text{font:14px/1.6 ui-monospace,Consolas,monospace;white-space:pre-wrap;background:#193f33;color:#e6efd9;padding:16px;border-radius:10px;max-height:350px;overflow:auto;overflow-wrap:anywhere}.result-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.result-meta>div{border-top:1px solid #d8e2cf;padding-top:8px;min-width:0}.result-meta dt{font-size:.76rem;color:var(--muted)}.result-meta dd{font-size:.88rem;font-weight:700;margin:4px 0;overflow-wrap:anywhere}.result-items{padding-left:20px;font-size:.86rem;overflow-wrap:anywhere}.technical{border:1px solid var(--line);border-radius:12px;background:#fff;margin:12px 0}.technical summary{min-height:50px;padding:14px 17px;cursor:pointer;font-size:.9rem;font-weight:750}.technical-content{padding:0 17px 17px}.technical-content p{font-size:.86rem;color:var(--muted)}pre{font:14px/1.65 ui-monospace,Consolas,monospace;background:#1a3d31;color:#e3eed7;padding:18px;border-radius:10px;overflow:auto;max-height:430px;white-space:pre;tab-size:2;margin:15px 0 0;max-width:100%}.buttons{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.technical .buttons .btn{font-size:.84rem}.path-buttons{margin-top:12px}.status{font-size:.87rem;color:#3e6e54;margin:15px 0 0;overflow-wrap:anywhere}.event-log{font-size:.85rem;padding-left:22px;overflow-wrap:anywhere}.event-log li{margin:8px 0}.workshop-footer{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.footnote{font-size:.77rem;color:var(--muted);margin-top:20px}fieldset{min-width:0}[hidden]{display:none!important}@media(max-width:780px){.workspace-grid{grid-template-columns:1fr}.file-tree{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.workshop{padding:22px 12px}.recipe-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px}.recipe-nav button{font-size:.8rem;padding:9px 10px}.mode-banner{padding:16px}.mode-banner h2{font-size:1rem}.surface{padding:17px 14px}.file-tree{grid-template-columns:1fr}.metrics{gap:6px}.metrics>div{padding:12px 9px}.metrics span{font-size:.71rem}.metrics strong{font-size:1.25rem}.section-top{flex-wrap:wrap}.before-after{grid-template-columns:1fr 22px 1fr;gap:5px}.before-after>div{padding:10px}.before-after p{font-size:.8rem}.result-meta{grid-template-columns:1fr}.technical-content{padding:0 12px 14px}.workshop-footer .buttons{display:grid;grid-template-columns:1fr}.workshop-footer .btn{width:100%}pre,.result-text{font-size:16px}}
.file-item code,.file-item span{font-size:13px}
