:root{--ink:#1f2933;--mute:#52606d;--accent:#2c6e7f;--accent-deep:#1f4e5a;--amber:#9c6b2e;--line:#d8e0e2;--panel:#fff;--bg:#eef3f4;--bg-2:#e2eaec;--ok:#2f7d5b;--over:#b23b3b;--radius:14px;--shadow:0 1px 2px rgba(31,41,51,.06),0 8px 24px rgba(31,41,51,.06)}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:linear-gradient(160deg,var(--bg),var(--bg-2));-webkit-font-smoothing:antialiased}.shell{max-width:1160px;margin:0 auto;padding:28px 24px 40px;min-height:100vh;display:flex;flex-direction:column}.topbar{justify-content:space-between;margin-bottom:24px}.brand,.topbar{display:flex;align-items:center}.brand{gap:14px}.mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(150deg,var(--accent),var(--accent-deep));color:#fff;font-size:22px;box-shadow:var(--shadow)}.brand-name{font-size:22px;font-weight:700;letter-spacing:-.2px}.brand-sub{font-size:12.5px;color:var(--mute)}.badge-clm{font-size:12px;font-weight:600;color:var(--accent-deep);background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:999px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;flex:1 1}@media (max-width:860px){.grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h2{font-size:15px;margin:0;text-transform:uppercase;letter-spacing:.6px;color:var(--mute)}.link-btn{background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:12.5px;font-weight:600;color:var(--ink)}.field>span em{color:var(--mute);font-weight:400;font-style:normal}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:520px){.field-row{grid-template-columns:1fr}}input,select,textarea{font:inherit;color:var(--ink);background:#fbfdfd;border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,110,127,.12)}textarea{resize:vertical}.hint{margin:-8px 0 14px;font-size:12px;color:var(--mute);line-height:1.5;padding-left:2px}.generate{width:100%;margin-top:6px;padding:13px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(150deg,var(--accent),var(--accent-deep));border:none;border-radius:11px;cursor:pointer;box-shadow:var(--shadow);transition:filter .15s,transform .05s}.generate:hover:not(:disabled){filter:brightness(1.05)}.generate:active:not(:disabled){transform:translateY(1px)}.generate:disabled{opacity:.5;cursor:not-allowed}.inline-error{color:var(--over);font-size:13px;margin-top:10px}.result{display:flex;flex-direction:column}.wordcount{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px}.wordcount.ok{color:var(--ok);background:#e6f2eb}.wordcount.over{color:var(--over);background:#f6e6e6}.placeholder{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:var(--ink);min-height:260px}.muted,.placeholder .muted{color:var(--mute)}.placeholder p{margin:0}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;margin-bottom:6px}@keyframes spin{to{transform:rotate(1turn)}}.chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.chip{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;background:#e7f0f2;color:var(--accent-deep)}.chip.alt{background:#f4ecdf;color:var(--amber)}.opening-screen{background:linear-gradient(150deg,#21323a,#14232a);color:#eaf2f3;border-radius:12px;padding:20px;margin-bottom:16px}.os-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--mute);margin-bottom:8px}.opening-screen .os-label{color:#8fa8ae}.os-title{font-size:17px;font-weight:600;line-height:1.35}.os-greet{margin-top:10px;font-size:15px;color:#b7ccd0;font-style:italic}.script-block{margin-bottom:14px}.script-text{margin:0;font-size:16px;line-height:1.7;color:var(--ink);white-space:pre-wrap}.design-note{font-size:13px;color:var(--mute);line-height:1.55;background:#f6f9f9;border-left:3px solid var(--line);padding:10px 12px;border-radius:0 8px 8px 0;margin:0 0 12px}.compliance{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.45;padding:10px 12px;border-radius:9px;margin-bottom:12px}.compliance.pass{background:#e6f2eb;color:var(--ok)}.compliance.fail{background:#f6e6e6;color:var(--over)}.compliance .tick{font-weight:700;width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border-radius:50%;background:currentColor;color:#fff;font-size:11px;margin-top:1px}.result-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--mute);margin:0}.saved-pill{color:var(--ok);font-weight:600}.foot,.unsaved-pill{color:var(--mute)}.foot{margin-top:26px;text-align:center;font-size:12px}.error-page{text-align:center;margin:80px auto;max-width:520px}.error-page h1{font-size:20px}code{background:#dde6e8;padding:2px 6px;border-radius:5px;font-size:12.5px}