/* =========================================================
   StasWeb AI Project Assistant v3.0 / DeepSeek
   Optimized, isolated and responsive.
   ========================================================= */

.page-wrap:has(.sw-ai) { padding: 0; }
.page-wrap:has(.sw-ai) > .container { width: 100%; max-width: none; margin: 0; }
.page-wrap:has(.sw-ai) .page-content { width: 100%; }

.sw-ai {
	--ai-bg: #111619;
	--ai-panel: #192125;
	--ai-panel-2: #202c31;
	--ai-line: rgba(255,255,255,.075);
	--ai-line-strong: rgba(255,255,255,.115);
	--ai-text: #f5f7ff;
	--ai-soft: #c3ccdc;
	--ai-muted: #a8bdbf;
	--ai-faint: #8aa3a6;
	--ai-cyan: #6de3fa;
	--ai-violet: #c6a77b;
	--ai-green: #69e6bd;
	--ai-red: #ff8498;
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	overflow: clip;
	padding-top: var(--header-h, 76px);
	color: var(--ai-text);
	background: var(--ai-bg);
}

.sw-ai *, .sw-ai *::before, .sw-ai *::after { box-sizing: border-box; }
.sw-ai a { color: inherit; text-decoration: none; }
.sw-ai button, .sw-ai input, .sw-ai textarea { font: inherit; }
.sw-ai svg { display:block; width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.sw-ai__backdrop {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		radial-gradient(circle at 83% 5%, rgba(126,93,255,.16), transparent 29%),
		radial-gradient(circle at 12% 29%, rgba(54,205,255,.09), transparent 24%),
		linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
	background-size: auto, auto, 72px 72px, 72px 72px;
	-webkit-mask-image: linear-gradient(#000 0 68%, transparent 96%);
	mask-image: linear-gradient(#000 0 68%, transparent 96%);
	pointer-events: none;
}

.sw-ai-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding-top:22px; color:var(--ai-faint); font-size: 10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.sw-ai-breadcrumbs a { transition: color .18s ease; }
.sw-ai-breadcrumbs a:hover { color: var(--ai-text); }

.sw-ai-hero { padding: clamp(38px,5vw,66px) 0 clamp(64px,7vw,92px); }
.sw-ai-intro { max-width:970px; margin:0 auto clamp(34px,5vw,54px); text-align:center; }

.sw-ai-eyebrow, .sw-ai-section-label { display:inline-flex; align-items:center; gap:8px; color:#aeb8ca; font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace); font-size: 10px; font-weight:800; line-height:1; letter-spacing:.13em; text-transform:uppercase; }
.sw-ai-eyebrow { padding:9px 12px; border:1px solid var(--ai-line); border-radius:999px; background:rgba(255,255,255,.025); }
.sw-ai-eyebrow > i { position:relative; width:6px; height:6px; border-radius:50%; background:var(--ai-green); box-shadow:0 0 12px rgba(105,230,189,.66); }
.sw-ai-eyebrow > i::after { content:""; position:absolute; inset:-5px; border:1px solid rgba(105,230,189,.26); border-radius:inherit; animation:sw-ai-pulse 2.5s ease-out infinite; }
.sw-ai-eyebrow > span { padding-left:8px; border-left:1px solid var(--ai-line); color:var(--ai-faint); }

.sw-ai-intro h1 { margin:22px auto 19px; color:#fbfcff; font-size:clamp(47px,6.1vw,82px); font-weight:720; line-height:.99; letter-spacing:-.067em; text-wrap:balance; }
.sw-ai-intro h1 span { display:block; color:transparent; background:linear-gradient(132deg,#fff 0%,#dce5ff 31%,#78e8ff 67%,#a38dff 100%); -webkit-background-clip:text; background-clip:text; }
.sw-ai-intro > p { max-width:770px; margin:0 auto; color:#9da7b8; font-size:clamp(16px,1.45vw,19px); line-height:1.72; text-wrap:balance; }
.sw-ai-intro__meta { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:25px; }
.sw-ai-intro__meta > span { display:inline-flex; align-items:center; gap:7px; padding:9px 11px; border:1px solid rgba(255,255,255,.06); border-radius:10px; color:#8e99ad; background:rgba(255,255,255,.018); font-size:10px; font-weight:600; }
.sw-ai-intro__meta i { width:5px; height:5px; border-radius:50%; background:var(--ai-cyan); box-shadow:0 0 9px rgba(109,227,250,.45); }

/* Workspace */
.sw-ai-workspace { display:grid; grid-template-columns:274px minmax(0,1fr); min-height:720px; overflow:hidden; border:1px solid var(--ai-line-strong); border-radius:27px; background:#0a0d14; box-shadow:0 42px 110px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.035); contain:paint; }
.sw-ai-sidebar { display:flex; flex-direction:column; min-width:0; padding:19px; border-right:1px solid var(--ai-line); background:radial-gradient(circle at 0 0,rgba(103,214,255,.065),transparent 31%),linear-gradient(180deg,#0e121c,#090c13); }
.sw-ai-sidebar__brand { display:flex; align-items:center; gap:11px; padding-bottom:17px; border-bottom:1px solid var(--ai-line); }
.sw-ai-avatar { position:relative; display:grid; flex:0 0 auto; place-items:center; width:43px; height:43px; border:1px solid rgba(109,227,250,.22); border-radius:13px; color:#e4faff; background:linear-gradient(145deg,rgba(91,207,255,.22),rgba(139,98,255,.2)); box-shadow:0 11px 27px rgba(0,0,0,.28); font-family:var(--mono,monospace); font-size:11px; font-weight:800; }
.sw-ai-avatar > i { position:absolute; right:-2px; bottom:-2px; width:11px; height:11px; border:2px solid #0d111a; border-radius:50%; background:var(--ai-green); box-shadow:0 0 9px rgba(105,230,189,.6); }
.sw-ai-sidebar__brand strong, .sw-ai-sidebar__brand span { display:block; }
.sw-ai-sidebar__brand strong { color:#eaf0fc; font-size:12px; }
.sw-ai-sidebar__brand span { margin-top:4px; color:#748197; font-size: 10px; }
.sw-ai-sidebar__brand span i { display:inline-block; width:5px; height:5px; margin-right:5px; border-radius:50%; background:var(--ai-green); }

.sw-ai-progress-card { margin-top:17px; padding:13px; border:1px solid rgba(255,255,255,.065); border-radius:13px; background:rgba(255,255,255,.018); }
.sw-ai-progress-card__head { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#758197; font-size: 10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.sw-ai-progress-card__head strong { color:var(--ai-cyan); font-family:var(--mono,monospace); font-size: 10px; }
.sw-ai-progress-card__track { height:3px; margin:9px 0; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.055); }
.sw-ai-progress-card__track > i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--ai-cyan),var(--ai-violet)); box-shadow:0 0 10px rgba(109,227,250,.24); transition:width .32s ease; }
.sw-ai-progress-card > p { margin:0; color:#8994a7; font-size: 10px; line-height:1.45; }

.sw-ai-steps { display:grid; gap:4px; margin:17px 0; padding:0; list-style:none; }
.sw-ai-steps li { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:10px; min-height:48px; padding:7px 9px; border:1px solid transparent; border-radius:11px; opacity:.5; transition:opacity .18s ease,border-color .18s ease,background .18s ease; }
.sw-ai-steps li::before { content:""; position:absolute; left:23px; top:42px; width:1px; height:14px; background:rgba(255,255,255,.055); }
.sw-ai-steps li:last-child::before { display:none; }
.sw-ai-steps li.is-active { opacity:1; border-color:rgba(109,227,250,.11); background:rgba(109,227,250,.035); }
.sw-ai-steps li.is-done { opacity:.78; }
.sw-ai-steps > li > span { display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(255,255,255,.07); border-radius:9px; color:#68758a; background:rgba(255,255,255,.018); font-family:var(--mono,monospace); font-size: 10px; font-weight:800; }
.sw-ai-steps li.is-active > span { border-color:rgba(109,227,250,.2); color:#a4efff; background:rgba(109,227,250,.07); }
.sw-ai-steps li.is-done > span { color:#85dfc4; }
.sw-ai-steps strong, .sw-ai-steps small { display:block; }
.sw-ai-steps strong { color:#cbd4e3; font-size:10px; }
.sw-ai-steps small { margin-top:2px; color:#647086; font-size: 10px; }


.sw-ai-provider {
	margin-top: auto;
	margin-bottom: 9px;
	padding: 11px;
	border: 1px solid rgba(109, 227, 250, .09);
	border-radius: 12px;
	background:
		linear-gradient(145deg, rgba(109, 227, 250, .035), rgba(155, 140, 255, .025));
}

.sw-ai-provider span,
.sw-ai-provider strong,
.sw-ai-provider small {
	display: block;
}

.sw-ai-provider span {
	margin-bottom: 5px;
	color: #657288;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .11em;
}

.sw-ai-provider strong {
	color: #cceef7;
	font-size: 10px;
	line-height: 1.35;
}

.sw-ai-provider small {
	margin-top: 3px;
	color: #8aa3a6;
	font-size: 10px;
	line-height: 1.4;
}

.sw-ai-sidebar__safe { display:grid; grid-template-columns:27px minmax(0,1fr); gap:9px; margin-top:auto; padding:11px; border:1px solid rgba(255,205,103,.09); border-radius:12px; background:rgba(255,205,103,.018); }
.sw-ai-sidebar__safe svg { width:23px; height:23px; color:#d8bd79; }
.sw-ai-sidebar__safe p { margin:0; color:#778297; font-size: 10px; line-height:1.5; }

/* Chat */
.sw-ai-chat { display:grid; grid-template-rows:auto minmax(0,1fr) auto auto auto; min-width:0; background:radial-gradient(circle at 100% 0,rgba(135,98,255,.055),transparent 27%),#0a0d14; }
.sw-ai-chat__header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:73px; padding:14px 18px; border-bottom:1px solid var(--ai-line); background:rgba(255,255,255,.008); }
.sw-ai-chat__header > div:first-child { min-width:0; }
.sw-ai-chat__status { display:block; margin-bottom:5px; color:#657188; font-family:var(--mono,monospace); font-size: 10px; letter-spacing:.08em; text-transform:uppercase; }
.sw-ai-chat__status i { display:inline-block; width:5px; height:5px; margin-right:5px; border-radius:50%; background:var(--ai-green); box-shadow:0 0 8px rgba(105,230,189,.54); }
.sw-ai-chat__header strong { display:block; overflow:hidden; color:#e7edf8; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.sw-ai-chat__actions { display:flex; flex:0 0 auto; gap:6px; }
.sw-ai-chat__actions button, .sw-ai-brief__toolbar button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:7px 9px; border:1px solid rgba(255,255,255,.065); border-radius:10px; color:#8590a4; background:rgba(255,255,255,.018); cursor:pointer; font-size: 10px; font-weight:650; transition:color .18s ease,border-color .18s ease,background .18s ease; }
.sw-ai-chat__actions button:hover, .sw-ai-brief__toolbar button:hover { border-color:rgba(109,227,250,.19); color:#dfe6f3; background:rgba(109,227,250,.04); }
.sw-ai-chat__actions button:disabled { opacity:.35; cursor:default; }
.sw-ai-chat__actions svg, .sw-ai-brief__toolbar svg { width:14px; height:14px; }

.sw-ai-chat__messages { min-height:390px; height:100%; max-height:520px; padding:21px clamp(16px,3vw,30px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(109,227,250,.19) transparent; }
.sw-ai-chat__messages::-webkit-scrollbar { width:7px; }
.sw-ai-chat__messages::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:999px; background:rgba(109,227,250,.22); background-clip:padding-box; }
.sw-ai-message { display:flex; align-items:flex-start; gap:10px; margin-bottom:16px; animation:sw-ai-message-in .22s ease both; }
.sw-ai-message--user { flex-direction:row-reverse; }
.sw-ai-message__avatar { display:grid; flex:0 0 auto; place-items:center; width:29px; height:29px; margin-top:2px; border:1px solid rgba(109,227,250,.14); border-radius:9px; color:#9aeaff; background:rgba(109,227,250,.055); font-family:var(--mono,monospace); font-size: 10px; font-weight:800; }
.sw-ai-message__content { max-width:min(78%,690px); }
.sw-ai-message__bubble { padding:12px 14px; border:1px solid rgba(255,255,255,.07); border-radius:5px 15px 15px; background:rgba(255,255,255,.025); }
.sw-ai-message--user .sw-ai-message__bubble { border-color:rgba(109,227,250,.14); border-radius:15px 5px 15px 15px; background:linear-gradient(145deg,rgba(83,201,255,.105),rgba(137,98,255,.075)); }
.sw-ai-message__bubble p { margin:0; color:#c2cbda; font-size:12px; line-height:1.68; white-space:pre-wrap; overflow-wrap:anywhere; }
.sw-ai-message--user .sw-ai-message__bubble p { color:#e9eef9; }
.sw-ai-message__content time { display:block; margin-top:5px; color:#515d70; font-size: 10px; }
.sw-ai-message--user .sw-ai-message__content time { text-align:right; }
.sw-ai-message--loading .sw-ai-message__bubble { display:flex; align-items:center; gap:5px; min-width:52px; min-height:39px; }
.sw-ai-message--loading .sw-ai-message__bubble i { width:5px; height:5px; border-radius:50%; background:var(--ai-cyan); animation:sw-ai-typing 1.1s ease-in-out infinite; }
.sw-ai-message--loading .sw-ai-message__bubble i:nth-child(2) { animation-delay:.14s; }
.sw-ai-message--loading .sw-ai-message__bubble i:nth-child(3) { animation-delay:.28s; }
.sw-ai-message--error .sw-ai-message__bubble { border-color:rgba(255,132,152,.18); background:rgba(255,132,152,.045); }
.sw-ai-message__retry { display:inline-flex; align-items:center; margin-top:9px; padding:7px 9px; border:1px solid rgba(255,132,152,.2); border-radius:8px; color:#ffacb9; background:transparent; cursor:pointer; font-size: 10px; font-weight:700; }

.sw-ai-quick { display:flex; gap:7px; min-height:52px; padding:9px clamp(16px,3vw,30px); overflow-x:auto; border-top:1px solid rgba(255,255,255,.045); scrollbar-width:none; }
.sw-ai-quick::-webkit-scrollbar { display:none; }
.sw-ai-quick button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:11px; min-height:34px; padding:8px 10px; border:1px solid rgba(255,255,255,.07); border-radius:10px; color:#a4afc0; background:rgba(255,255,255,.018); cursor:pointer; font-size: 10px; font-weight:600; transition:color .18s ease,border-color .18s ease,background .18s ease; }
.sw-ai-quick button:hover { border-color:rgba(109,227,250,.2); color:#e8eef9; background:rgba(109,227,250,.045); }
.sw-ai-quick button:disabled { opacity:.4; cursor:wait; }
.sw-ai-quick button i { color:var(--ai-cyan); font-style:normal; }

.sw-ai-composer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:9px; padding:11px clamp(16px,3vw,30px) 13px; border-top:1px solid var(--ai-line); }
.sw-ai-composer__field { min-width:0; padding:9px 11px 7px; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:rgba(3,6,11,.58); transition:border-color .18s ease,box-shadow .18s ease; }
.sw-ai-composer__field:focus-within { border-color:rgba(109,227,250,.28); box-shadow:0 0 0 4px rgba(109,227,250,.045); }
.sw-ai-composer textarea { display:block; width:100%; min-height:28px; max-height:128px; padding:0; resize:none; overflow-y:auto; border:0; outline:0; color:#eef3fc; background:transparent; font-size:12px; line-height:1.55; }
.sw-ai-composer textarea::placeholder { color:#596578; }
.sw-ai-composer__field > div { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:5px; color:#4f5a6c; font-size: 10px; }
.sw-ai-composer__field strong { font-family:var(--mono,monospace); font-weight:500; }
.sw-ai-composer > button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:112px; min-height:49px; padding:10px 14px; border:1px solid rgba(109,227,250,.26); border-radius:13px; color:#061119; background:linear-gradient(135deg,#78e8ff,#9aafff); box-shadow:0 12px 30px rgba(79,181,255,.13); cursor:pointer; font-size:10px; font-weight:800; transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease; }
.sw-ai-composer > button:hover { transform:translateY(-1px); box-shadow:0 15px 35px rgba(79,181,255,.19); }
.sw-ai-composer > button:disabled, .sw-ai-composer textarea:disabled { opacity:.5; cursor:wait; }
.sw-ai-composer > button svg { width:16px; height:16px; }
.sw-ai-chat__footer { display:flex; align-items:center; justify-content:space-between; gap:13px; padding:0 clamp(16px,3vw,30px) 12px; color:#4d596b; font-size: 10px; }

/* Result */
.sw-ai-result { padding:clamp(62px,7vw,86px) 0; border-top:1px solid rgba(255,255,255,.05); background:radial-gradient(circle at 90% 0,rgba(109,227,250,.055),transparent 24%),rgba(255,255,255,.006); content-visibility:auto; contain-intrinsic-size:900px; }
.sw-ai-result[hidden] { display:none !important; }
.sw-ai-result__head, .sw-ai-benefits__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); align-items:end; gap:clamp(28px,5vw,68px); margin-bottom:29px; }
.sw-ai-result__head h2, .sw-ai-benefits__head h2 { max-width:790px; margin:13px 0 0; color:#f4f7ff; font-size:clamp(34px,4.5vw,58px); font-weight:710; line-height:1.04; letter-spacing:-.055em; text-wrap:balance; }
.sw-ai-result__head > p, .sw-ai-benefits__head > p { margin:0; color:#9ba5b6; font-size:15px; line-height:1.72; }
.sw-ai-result__layout { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr); align-items:start; gap:12px; }
.sw-ai-brief, .sw-ai-lead { border:1px solid var(--ai-line); border-radius:20px; background:rgba(255,255,255,.017); }
.sw-ai-brief { overflow:hidden; }
.sw-ai-brief__toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:67px; padding:13px 17px; border-bottom:1px solid var(--ai-line); background:rgba(255,255,255,.012); }
.sw-ai-brief__toolbar span, .sw-ai-brief__toolbar strong { display:block; }
.sw-ai-brief__toolbar span { margin-bottom:4px; color:#647187; font-family:var(--mono,monospace); font-size: 10px; letter-spacing:.1em; }
.sw-ai-brief__toolbar strong { color:#e7edf8; font-size:13px; }
.sw-ai-brief__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:16px; }
.sw-ai-brief__item { min-width:0; padding:13px; border:1px solid rgba(255,255,255,.06); border-radius:12px; background:rgba(255,255,255,.014); }
.sw-ai-brief__item span, .sw-ai-brief__item strong { display:block; }
.sw-ai-brief__item span { margin-bottom:6px; color:var(--ai-cyan); font-family:var(--mono,monospace); font-size: 10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.sw-ai-brief__item strong { color:#c7d0df; font-size:11px; font-weight:600; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }

.sw-ai-lead { padding:20px; }
.sw-ai-lead h3 { margin:12px 0 7px; color:#edf2fb; font-size:24px; line-height:1.2; letter-spacing:-.038em; }
.sw-ai-lead > p { margin:0 0 17px; color:#8994a7; font-size:11px; line-height:1.58; }
.sw-ai-lead__row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.sw-ai-lead > label, .sw-ai-lead__row label { display:block; margin-bottom:11px; }
.sw-ai-lead label > span:first-child { display:block; margin-bottom:6px; color:#a9b3c3; font-size: 10px; font-weight:650; }
.sw-ai-lead label > span:first-child small { margin-left:4px; color:#66748a; font-size:.82em; font-weight:550; }
.sw-ai-lead input[type="text"], .sw-ai-lead input[type="email"], .sw-ai-lead input[type="tel"], .sw-ai-lead textarea { display:block; width:100%; padding:11px 12px; border:1px solid rgba(255,255,255,.075); border-radius:11px; outline:0; color:#eef3fc; background:rgba(3,6,11,.56); font-size:11px; line-height:1.5; transition:border-color .18s ease,box-shadow .18s ease; }
.sw-ai-lead textarea { resize:vertical; }
.sw-ai-lead input:focus, .sw-ai-lead textarea:focus { border-color:rgba(109,227,250,.26); box-shadow:0 0 0 4px rgba(109,227,250,.04); }
.sw-ai-lead__consent { display:grid !important; grid-template-columns:16px minmax(0,1fr); align-items:start; gap:8px; margin:3px 0 13px !important; }
.sw-ai-lead__consent input { margin:2px 0 0; accent-color:var(--ai-cyan); }
.sw-ai-lead__consent > span { margin:0 !important; color:#758197 !important; font-size: 10px !important; line-height:1.52; }
.sw-ai-lead__consent a { color:#91deef; text-decoration:underline; text-underline-offset:2px; }
.sw-ai-lead__trap { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.sw-ai-lead__submit { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; min-height:47px; padding:10px 13px; border:1px solid rgba(109,227,250,.24); border-radius:12px; color:#061119; background:linear-gradient(135deg,#78e8ff,#9aafff); cursor:pointer; font-size:10px; font-weight:800; }
.sw-ai-lead__submit i { font-size:15px; font-style:normal; }
.sw-ai-lead__submit:disabled { opacity:.55; cursor:wait; }
.sw-ai-lead__status { min-height:17px; margin-top:9px; color:#778398; font-size: 10px; line-height:1.45; text-align:center; }
.sw-ai-lead__status.is-success { color:var(--ai-green); }
.sw-ai-lead__status.is-error { color:var(--ai-red); }
.sw-ai-lead__telegram { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; padding:9px 2px 0; color:#8390a4; font-size: 10px; }
.sw-ai-lead__telegram:hover { color:#cbd5e4; }

/* Benefits */
.sw-ai-benefits { padding:clamp(62px,7vw,88px) 0; content-visibility:auto; contain-intrinsic-size:650px; }
.sw-ai-benefits__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.sw-ai-benefits article { position:relative; min-height:230px; padding:18px; overflow:hidden; border:1px solid rgba(255,255,255,.065); border-radius:17px; background:linear-gradient(155deg,rgba(255,255,255,.025),rgba(255,255,255,.009)); }
.sw-ai-benefits article > span { position:absolute; top:15px; right:16px; color:#4e5a6c; font-family:var(--mono,monospace); font-size: 10px; }
.sw-ai-benefits__icon { display:grid; place-items:center; width:43px; height:43px; margin-bottom:31px; border:1px solid rgba(109,227,250,.14); border-radius:13px; color:#8ae8fb; background:rgba(109,227,250,.045); font-family:var(--mono,monospace); font-size: 10px; font-weight:800; }
.sw-ai-benefits h3 { margin:0 0 9px; color:#e8eef8; font-size:17px; line-height:1.3; letter-spacing:-.025em; }
.sw-ai-benefits article p { margin:0; color:#8994a7; font-size:12px; line-height:1.65; }

@keyframes sw-ai-pulse { from { opacity:.7; transform:scale(.72); } to { opacity:0; transform:scale(1.45); } }
@keyframes sw-ai-message-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@keyframes sw-ai-typing { 0%,60%,100% { opacity:.35; transform:translateY(0); } 30% { opacity:1; transform:translateY(-4px); } }

@media (max-width:1050px) {
	.sw-ai-workspace { grid-template-columns:230px minmax(0,1fr); }
	.sw-ai-sidebar { padding:15px; }
	.sw-ai-result__layout { grid-template-columns:1fr; }
	.sw-ai-benefits__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:800px) {
	.sw-ai { padding-top:var(--header-h,68px); }
	.sw-ai-breadcrumbs { padding-top:17px; }
	.sw-ai-hero { padding:31px 0 55px; }
	.sw-ai-intro { margin-bottom:30px; text-align:left; }
	.sw-ai-intro h1 { font-size:clamp(42px,11.5vw,64px); }
	.sw-ai-intro__meta { justify-content:flex-start; }
	.sw-ai-workspace { grid-template-columns:1fr; border-radius:21px; }
	.sw-ai-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:12px; border-right:0; border-bottom:1px solid var(--ai-line); }
	.sw-ai-sidebar__brand { padding:0; border:0; }
	.sw-ai-progress-card { margin:0; }
	.sw-ai-steps, .sw-ai-sidebar__safe { display:none; }
	.sw-ai-chat__messages { min-height:360px; max-height:470px; }
	.sw-ai-result__head, .sw-ai-benefits__head { grid-template-columns:1fr; align-items:start; gap:15px; }
	.sw-ai-brief__grid { grid-template-columns:1fr; }
}

@media (max-width:590px) {
	.sw-ai-intro__meta { display:grid; grid-template-columns:1fr; }
	.sw-ai-sidebar { grid-template-columns:1fr; }
	.sw-ai-progress-card { display:none; }
	.sw-ai-chat__header { padding:12px 13px; }
	.sw-ai-chat__actions button { width:34px; padding:0; }
	.sw-ai-chat__actions button span { display:none; }
	.sw-ai-chat__messages { min-height:350px; padding:16px 13px; }
	.sw-ai-message__content { max-width:88%; }
	.sw-ai-quick { padding-inline:13px; }
	.sw-ai-composer { grid-template-columns:minmax(0,1fr) 47px; padding-inline:13px; }
	.sw-ai-composer__field > div > span { display:none; }
	.sw-ai-composer > button { min-width:47px; width:47px; padding:0; }
	.sw-ai-composer > button > span { display:none; }
	.sw-ai-chat__footer { display:grid; padding-inline:13px; }
	.sw-ai-lead__row { grid-template-columns:1fr; gap:0; }
	.sw-ai-benefits__grid { grid-template-columns:1fr; }
	.sw-ai-benefits article { min-height:200px; }
}

@media (prefers-reduced-motion:reduce) {
	.sw-ai *, .sw-ai *::before, .sw-ai *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}


/* =========================================================
   Stable rollback — mobile readability only
   No structural or AI logic changes.
   ========================================================= */

.sw-ai {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.sw-ai-message__bubble p {
	font-size: 14px;
	line-height: 1.65;
}

.sw-ai-quick button {
	min-height: 42px;
	padding: 10px 12px;
	font-size: 12px;
	line-height: 1.35;
	touch-action: manipulation;
}

.sw-ai-composer textarea {
	font-size: 15px;
}

.sw-ai button,
.sw-ai input,
.sw-ai textarea,
.sw-ai a {
	touch-action: manipulation;
}

@media (max-width: 800px) {
	.sw-ai-intro > p {
		font-size: 16px;
		line-height: 1.65;
	}

	.sw-ai-intro__meta > span {
		min-height: 40px;
		font-size: 11px;
	}

	.sw-ai-chat__messages {
		height: clamp(360px, 58svh, 520px);
		min-height: 0;
		max-height: none;
		padding: 17px 14px;
	}

	.sw-ai-message__bubble p {
		font-size: 14px;
		line-height: 1.62;
	}

	.sw-ai-quick {
		gap: 8px;
		min-height: 60px;
		padding: 9px 13px;
	}

	.sw-ai-quick button {
		min-height: 44px;
		font-size: 12px;
	}

	.sw-ai-composer {
		padding: 10px 13px calc(11px + env(safe-area-inset-bottom));
	}

	.sw-ai-composer__field {
		min-height: 51px;
	}

	.sw-ai-composer textarea {
		min-height: 29px;
		font-size: 16px;
		line-height: 1.5;
	}

	.sw-ai-composer > button {
		min-width: 51px;
		min-height: 51px;
	}

	.sw-ai-lead input[type="text"],
	.sw-ai-lead textarea {
		min-height: 46px;
		font-size: 16px;
	}

	.sw-ai-lead__submit {
		min-height: 50px;
		font-size: 12px;
	}
}

/* =========================================================
   Premium result experience v4.0
   Visual-only layer: no API, form or submission changes.
   ========================================================= */

.sw-ai-result {
	position: relative;
	padding: clamp(72px, 8vw, 112px) 0;
	background:
		radial-gradient(circle at 8% 4%, rgba(109, 227, 250, .12), transparent 28%),
		radial-gradient(circle at 92% 8%, rgba(155, 140, 255, .14), transparent 31%),
		linear-gradient(180deg, rgba(12, 16, 25, .97), rgba(7, 8, 12, .99));
	content-visibility: auto;
	contain: layout paint style;
	contain-intrinsic-size: 1100px;
}

.sw-ai-result::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 72%);
	mask-image: linear-gradient(to bottom, #000, transparent 72%);
}

.sw-ai-result > .container { position: relative; }

.sw-ai-result__head {
	align-items: center;
	margin-bottom: 22px;
}

.sw-ai-result__head h2 {
	font-size: clamp(38px, 5vw, 66px);
	line-height: 1.02;
	letter-spacing: -.06em;
}

.sw-ai-result__head > p {
	padding: 20px 22px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 18px;
	color: #c2ccdc;
	background: rgba(255,255,255,.026);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
	font-size: 17px;
	line-height: 1.7;
}

.sw-ai-result__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}

.sw-ai-result__proof span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid rgba(255,255,255,.075);
	border-radius: 999px;
	color: #aeb9ca;
	background: rgba(255,255,255,.025);
	font-size: 12px;
	font-weight: 700;
}

.sw-ai-result__proof i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ai-green);
	box-shadow: 0 0 13px rgba(105,230,189,.72);
}

.sw-ai-result__layout {
	grid-template-columns: minmax(0, 1.25fr) minmax(370px, .75fr);
	gap: 18px;
}

.sw-ai-brief,
.sw-ai-lead {
	border-color: rgba(255,255,255,.1);
	border-radius: 24px;
	background: linear-gradient(155deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
	box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.055);
}

.sw-ai-brief__toolbar {
	min-height: 82px;
	padding: 17px 20px;
	background: linear-gradient(90deg, rgba(109,227,250,.045), rgba(155,140,255,.035));
}

.sw-ai-brief__toolbar span { font-size: 11px; }
.sw-ai-brief__toolbar strong { font-size: 17px; }

.sw-ai-brief__toolbar button {
	min-height: 42px;
	padding: 9px 13px;
	font-size: 12px;
}

.sw-ai-brief__grid {
	gap: 11px;
	padding: 20px;
}

.sw-ai-brief__item {
	position: relative;
	padding: 17px;
	border-color: rgba(255,255,255,.075);
	border-radius: 15px;
	background: rgba(5,8,14,.36);
	content-visibility: auto;
	contain-intrinsic-size: 90px;
}

.sw-ai-brief__item::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 0;
	width: 2px;
	height: 22px;
	border-radius: 0 4px 4px 0;
	background: linear-gradient(var(--ai-cyan), var(--ai-violet));
}

.sw-ai-brief__item span {
	margin-bottom: 8px;
	font-size: 11px;
	line-height: 1.35;
}

.sw-ai-brief__item strong {
	color: #d9e1ee;
	font-size: 15px;
	font-weight: 560;
	line-height: 1.62;
}

.sw-ai-lead {
	position: sticky;
	top: calc(var(--header-h, 76px) + 18px);
	padding: 26px;
}

.sw-ai-lead h3 {
	margin: 15px 0 9px;
	font-size: 30px;
}

.sw-ai-lead > p {
	margin-bottom: 22px;
	font-size: 14px;
	line-height: 1.65;
}

.sw-ai-lead label > span:first-child {
	margin-bottom: 8px;
	font-size: 12px;
}

.sw-ai-lead input[type="text"],
.sw-ai-lead input[type="email"],
.sw-ai-lead input[type="tel"],
.sw-ai-lead textarea {
	min-height: 50px;
	padding: 13px 14px;
	border-radius: 13px;
	font-size: 15px;
}

.sw-ai-lead textarea { min-height: 104px; }

.sw-ai-lead__consent {
	grid-template-columns: 20px minmax(0,1fr);
	gap: 10px;
	margin: 6px 0 17px !important;
}

.sw-ai-lead__consent input {
	width: 18px;
	height: 18px;
}

.sw-ai-lead__consent > span {
	font-size: 12px !important;
	line-height: 1.58;
}

.sw-ai-lead__submit {
	min-height: 56px;
	padding: 13px 16px;
	border-radius: 14px;
	box-shadow: 0 15px 35px rgba(82,190,255,.16);
	font-size: 14px;
	transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.sw-ai-lead__submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 19px 42px rgba(82,190,255,.23);
}

.sw-ai-lead__status,
.sw-ai-lead__telegram { font-size: 12px; }

.sw-ai-lead__status {
	min-height: 22px;
	margin-top: 11px;
}

.sw-ai-lead__telegram {
	min-height: 42px;
	margin-top: 4px;
}

@media (max-width: 1050px) {
	.sw-ai-result__layout { grid-template-columns: 1fr; }
	.sw-ai-lead { position: static; }
}

@media (max-width: 800px) {
	.sw-ai-result { padding: 58px 0 66px; contain-intrinsic-size: 1500px; }
	.sw-ai-result__head { gap: 18px; margin-bottom: 17px; }
	.sw-ai-result__head h2 { font-size: clamp(35px, 10vw, 52px); }
	.sw-ai-result__head > p { padding: 17px; font-size: 15px; }
	.sw-ai-result__proof { margin-bottom: 18px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
	.sw-ai-result__proof::-webkit-scrollbar { display: none; }
	.sw-ai-result__proof span { flex: 0 0 auto; min-height: 40px; }
	.sw-ai-brief__grid { grid-template-columns: 1fr; padding: 13px; }
	.sw-ai-brief__item { padding: 15px 15px 15px 17px; }
	.sw-ai-brief__item strong { font-size: 15px; }
	.sw-ai-lead { padding: 21px; }
	.sw-ai-lead h3 { font-size: 27px; }
	.sw-ai-lead input[type="text"], .sw-ai-lead input[type="email"], .sw-ai-lead input[type="tel"], .sw-ai-lead textarea { font-size: 16px; }
}

@media (max-width: 590px) {
	.sw-ai-result__layout { gap: 14px; }
	.sw-ai-brief, .sw-ai-lead { border-radius: 19px; }
	.sw-ai-brief__toolbar { align-items: flex-start; min-height: 76px; padding: 15px; }
	.sw-ai-brief__toolbar button { min-width: 44px; padding-inline: 11px; }
	.sw-ai-brief__toolbar button svg { flex: 0 0 auto; }
	.sw-ai-lead { padding: 18px; }
}

@media (hover: none) {
	.sw-ai-lead__submit:hover { transform: none; }
}

/* Compact mode used by the global lazy-loaded assistant panel. */
.sw-ai-embed,
.sw-ai-embed-body { min-height: 100%; background: #090c13; }

.sw-ai-embed-body {
	margin: 0;
	overflow-x: hidden;
}

.sw-ai-embed .header,
.sw-ai-embed .nav--mobile,
.sw-ai-embed .footer,
.sw-ai-embed .sw-footer,
.sw-ai-embed .skip-link,
.sw-ai-embed .scroll-progress,
.sw-ai-embed .bg-space,
.sw-ai-embed .sw-ai-float,
.sw-ai-embed .sw-ai-breadcrumbs,
.sw-ai-embed .sw-ai-intro,
.sw-ai-embed .sw-ai-benefits,
.sw-ai-embed .sw-ai-sidebar { display: none !important; }

.sw-ai-embed .page-wrap,
.sw-ai-embed .page-wrap > .container,
.sw-ai-embed .page-content { width: 100%; max-width: none; margin: 0; padding: 0; }

.sw-ai-embed .sw-ai {
	min-height: 100dvh;
	padding: 0;
	overflow: visible;
	background: #090c13;
}

.sw-ai-embed .sw-ai-hero { padding: 0; }
.sw-ai-embed .sw-ai-hero > .container { width: 100%; max-width: none; padding: 0; }
.sw-ai-embed .sw-ai-workspace { grid-template-columns: 1fr; min-height: 100dvh; border: 0; border-radius: 0; box-shadow: none; contain: layout paint; }
.sw-ai-embed .sw-ai-chat__header { min-height: 61px; padding: 10px 13px; }
.sw-ai-embed .sw-ai-chat__messages { min-height: 310px; height: calc(100dvh - 230px); max-height: none; padding: 17px 14px; }
.sw-ai-embed .sw-ai-result { padding: 42px 14px 55px; }
.sw-ai-embed .sw-ai-result > .container { width: 100%; padding: 0; }
.sw-ai-embed .sw-ai-result__head h2 { font-size: clamp(31px, 8vw, 43px); }
.sw-ai-embed .sw-ai-result__layout { grid-template-columns: 1fr; }
.sw-ai-embed .sw-ai-lead { position: static; }

@media (max-width: 590px) {
	.sw-ai-embed .sw-ai-chat__header > div:first-child { max-width: calc(100% - 82px); }
	.sw-ai-embed .sw-ai-chat__footer { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
}
/* =========================================================
   StasWeb AI — HARD MOBILE OVERFLOW FIX
   iPhone / Safari
   ========================================================= */

/* 1. Главные grid-контейнеры никогда не должны
      рассчитывать ширину по содержимому */
.sw-ai-workspace {
	grid-template-columns: 274px minmax(0, 1fr);
	min-width: 0;
	max-width: 100%;
}

.sw-ai-chat {
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.sw-ai-chat__header,
.sw-ai-chat__messages,
.sw-ai-quick,
.sw-ai-composer,
.sw-ai-chat__footer {
	min-width: 0;
	width: 100%;
	max-width: 100%;
}


/* 2. Контейнер сообщений */
.sw-ai-chat__messages {
	overflow-x: hidden !important;
}


/* 3. Каждое сообщение */
.sw-ai-message {
	display: flex;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}


/*
 * КЛЮЧЕВОЙ МОМЕНТ:
 * flex-basis: 0 не позволяет тексту задавать ширину элемента.
 */
.sw-ai-message__content {
	flex: 1 1 0;
	width: 0;
	min-width: 0;
	max-width: 690px;
}


/* Сообщение пользователя прижимаем вправо */
.sw-ai-message--user .sw-ai-message__content {
	flex: 0 1 auto;
	width: auto;
	min-width: 0;
	max-width: min(78%, 690px);
}


/* 4. Bubble */
.sw-ai-message__bubble {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}


/* 5. Вообще ВСЕМ элементам внутри AI-ответа
      запрещаем расширять bubble */
.sw-ai-message__bubble > * {
	min-width: 0;
	max-width: 100%;
}


/* Обычный текст */
.sw-ai-message__bubble p,
.sw-ai-message__bubble li,
.sw-ai-message__bubble span,
.sw-ai-message__bubble strong,
.sw-ai-message__bubble em,
.sw-ai-message__bubble b,
.sw-ai-message__bubble i,
.sw-ai-message__bubble a,
.sw-ai-message__bubble h1,
.sw-ai-message__bubble h2,
.sw-ai-message__bubble h3,
.sw-ai-message__bubble h4,
.sw-ai-message__bubble h5,
.sw-ai-message__bubble h6,
.sw-ai-message__bubble blockquote {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}


/* Ссылки */
.sw-ai-message__bubble a {
	display: inline;
	max-width: 100%;
}


/* Изображения */
.sw-ai-message__bubble img,
.sw-ai-message__bubble video,
.sw-ai-message__bubble iframe,
.sw-ai-message__bubble svg {
	max-width: 100% !important;
}


/* Код */
.sw-ai-message__bubble pre {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: pre;
	-webkit-overflow-scrolling: touch;
}

.sw-ai-message__bubble pre code {
	display: block;
	width: max-content;
	min-width: 100%;
	max-width: none;
	white-space: pre;
	word-break: normal !important;
	overflow-wrap: normal !important;
}


/* inline code */
.sw-ai-message__bubble :not(pre) > code {
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
}


/* Таблицы */
.sw-ai-message__bubble table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 800px) {

	.sw-ai-workspace {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		max-width: 100%;
	}

	.sw-ai-chat {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		max-width: 100%;
	}

}


/* =========================================================
   MOBILE / iPHONE
   ========================================================= */

@media (max-width: 590px) {

	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.sw-ai {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.sw-ai-hero,
	.sw-ai-workspace,
	.sw-ai-chat {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.sw-ai-chat__messages {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		padding-left: 12px;
		padding-right: 12px;
		overflow-x: hidden !important;
	}


	/* assistant message */
	.sw-ai-message {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		gap: 8px;
	}


	.sw-ai-message__avatar {
		flex: 0 0 29px;
		width: 29px;
	}


	/*
	 * Вот это главное.
	 *
	 * Не 88%, не calc().
	 * Оставшуюся ширину flex рассчитывает сам.
	 */
	.sw-ai-message__content {
		flex: 1 1 0 !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: none !important;
	}


	/* user message */
	.sw-ai-message--user .sw-ai-message__content {
		flex: 0 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: calc(100% - 37px) !important;
	}


	.sw-ai-message__bubble {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		padding: 12px 13px;
	}


	/* DeepSeek/Markdown может создавать самые разные теги */
	.sw-ai-message__bubble * {
		box-sizing: border-box;
		max-width: 100%;
	}


	.sw-ai-message__bubble p,
	.sw-ai-message__bubble li {
		font-size: 14px;
		line-height: 1.62;
	}

}


/* =========================================================
   EMBED VERSION
   ========================================================= */

@media (max-width: 590px) {

	.sw-ai-embed,
	.sw-ai-embed-body,
	.sw-ai-embed .page-wrap,
	.sw-ai-embed .page-wrap > .container,
	.sw-ai-embed .page-content,
	.sw-ai-embed .sw-ai,
	.sw-ai-embed .sw-ai-hero,
	.sw-ai-embed .sw-ai-hero > .container,
	.sw-ai-embed .sw-ai-workspace,
	.sw-ai-embed .sw-ai-chat {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

}