html.ai-plan-product .desktop-nav,
html.ai-plan-product .nav-actions,
html.ai-plan-product .mobile-nav {
	display: none;
}
html.ai-plan-product .site-header {
	position: sticky;
	top: 0;
	z-index: 30;
	border-bottom: 1px solid var(--line);
	background: color-mix(in srgb, var(--paper) 94%, transparent);
	backdrop-filter: blur(14px);
}
html.ai-plan-product .nav-shell {
	min-height: 58px;
}
html.ai-plan-product .brand {
	color: var(--ink);
	transform: scale(.88);
	transform-origin: left center;
}
html.ai-plan-product .brand small { color: var(--muted); }
html.ai-plan-product .brand-mark { color: var(--paper); background: var(--ink); }

.ai-plan-app {
	--plan-dark: var(--ink);
	--plan-soft: var(--paper-deep);
	--plan-accent: var(--cyan);
	/* 本页未引入全局 --error/--success：为深色保存栏给出可读的错误/成功文字色，
	   并给浅色失败卡片一个可见的描边色（不引入新的品牌主色）。 */
	--error: #ff9d8f;
	--error-deep: #c9503c;
	--success: #6ce5b3;
	padding: 0 0 clamp(72px, 12vw, 128px);
}
.ai-plan-app * { box-sizing: border-box; }
.ai-plan-app button,
.ai-plan-app input,
.ai-plan-app textarea { font: inherit; }
.plan-toolbar {
	margin: 0;
	padding: 14px clamp(20px, 4vw, 48px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	font-size: 13px;
}
.plan-toolbar a { color: var(--ink); text-decoration: none; }
.plan-toolbar strong { letter-spacing: .08em; }

.plan-stage {
	margin: 0;
	padding: clamp(30px, 5vw, 70px) clamp(20px, 4vw, 48px) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(20px, 4vw, 58px);
	align-items: stretch;
}
.plan-brief {
	padding: clamp(24px, 4vw, 46px);
	background: var(--plan-dark);
	color: var(--paper);
}
.plan-eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	color: var(--plan-accent);
}
.plan-eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; }
.plan-brief h1 {
	max-width: none;
	margin: 0;
	font-size: clamp(38px, 5vw, 68px);
	line-height: 1.18;
	letter-spacing: -.06em;
}
.plan-brief h1 em { display: inline; color: var(--plan-accent); font-style: normal; }
.plan-brief > p:not(.plan-eyebrow) {
	max-width: none;
	margin: 26px 0 0;
	color: color-mix(in srgb, var(--paper) 78%, transparent);
	font-size: 16px;
	line-height: 1.8;
}
.plan-proof {
	position: relative;
	z-index: 1;
	margin: 42px 0 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	border: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
}
.plan-proof div { padding: 15px 13px; background: color-mix(in srgb, var(--ink) 86%, transparent); }
.plan-proof strong { display:block; font-size: 18px; color: var(--paper); }
.plan-proof span { display:block; margin-top: 5px; font-size: 12px; line-height:1.45; color: color-mix(in srgb, var(--paper) 63%, transparent); }

.plan-form-shell {
	padding: clamp(24px, 3.5vw, 42px);
	border: 1px solid var(--ink);
	background: var(--white);
	display: grid;
	align-content: start;
}
.plan-form-top { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:28px; }
.plan-form-top h2 { margin:0; font-size:clamp(24px,3vw,34px); letter-spacing:-.04em; }
.plan-form-top p { margin:0; color:var(--muted); font-size:13px; text-align:right; }
.ai-plan-form { display:grid; gap:16px; }
.ai-plan-form label { display:grid; gap:7px; }
.ai-plan-form label span { font-size:13px; font-weight:800; }
.ai-plan-form input,
.ai-plan-form textarea {
	width:100%;
	border:1px solid var(--line);
	background:var(--paper);
	padding:13px 14px;
	color:var(--ink);
	font-size:15px;
	border-radius:0;
}
.ai-plan-form input:focus,
.ai-plan-form textarea:focus { outline:2px solid var(--plan-accent); outline-offset:1px; }
.ai-plan-form textarea { min-height:132px; resize:vertical; }
.plan-two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.plan-disclosure { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }

.plan-primary {
	width:100%;
	border:0;
	background:var(--ink);
	color:var(--paper);
	padding:17px 20px;
	font-weight:800;
	font-size:16px;
	cursor:pointer;
	transition:background .18s ease, transform .18s ease;
}
.plan-primary:hover { background:var(--blue); transform:translateY(-1px); }
.plan-primary:disabled { opacity:.55; cursor:progress; transform:none; }
.plan-text-button { border:0; background:transparent; color:var(--ink); padding:0; text-decoration:underline; cursor:pointer; font-size:13px; }
.plan-status { min-height:1.5em; margin:0; color:var(--blue); font-size:14px; line-height:1.6; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.plan-result-wrap { max-width:1240px; margin:0 auto; padding:clamp(36px,6vw,82px) clamp(20px,4vw,48px) 0; }
.plan-result-wrap[hidden] { display:none; }
.plan-result-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:20px; }
.plan-result-head h2 { margin:0; font-size:clamp(28px,4vw,46px); letter-spacing:-.05em; }
.plan-result-head p { margin:0; color:var(--muted); font-size:14px; }
.plan-report { border:1px solid var(--ink); background:var(--white); }
.plan-now { padding:clamp(22px,4vw,40px); border-bottom:1px solid var(--line); background:var(--plan-soft); }
.plan-now .plan-eyebrow { color:var(--blue); }
.plan-now h3 { margin:0 0 12px; font-size:24px; letter-spacing:-.03em; }
.plan-now p { margin:0; max-width:62ch; font-size:17px; line-height:1.9; }
.plan-model-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); border-bottom:1px solid var(--line); }
.plan-model { padding:22px; border-right:1px solid var(--line); }
.plan-model:last-child { border-right:0; }
.plan-model span { display:block; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.1em; }
.plan-model h4 { margin:8px 0; font-size:17px; }
.plan-model p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.plan-sections { padding:clamp(24px,4vw,48px); display:grid; gap:42px; }
.plan-section { max-width:760px; }
.plan-section h3 { margin:0 0 14px; font-size:clamp(20px,2.5vw,29px); letter-spacing:-.035em; }
.plan-section p { margin:0 0 14px; font-size:16px; line-height:2; color:var(--ink); }
.plan-section p:last-child { margin-bottom:0; }
.plan-next-steps { margin:0; padding-left:22px; display:grid; gap:10px; line-height:1.8; }
.plan-pmf { margin:0 clamp(24px,4vw,48px) clamp(24px,4vw,48px); padding:22px; border:1px solid var(--line); background:var(--paper); }
.plan-pmf h3 { margin:0 0 12px; }
.plan-pmf .plan-eyebrow, .plan-sample .plan-eyebrow, .plan-faq .plan-eyebrow { color:var(--blue); }
.plan-pmf-note { margin:0 0 12px; color:var(--muted); font-size:13px; line-height:1.7; }
.plan-pmf table { width:100%; border-collapse:collapse; font-size:14px; }
.plan-pmf th,.plan-pmf td { padding:10px 0; border-top:1px solid var(--line); text-align:left; vertical-align:top; line-height:1.7; }
.plan-pmf th { width:34%; }
.plan-pill { display:inline-block; margin-right:7px; padding:2px 6px; background:var(--ink); color:var(--paper); font-size:11px; letter-spacing:.08em; }
.plan-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.plan-links a { color:var(--ink); border-bottom:1px solid currentColor; text-decoration:none; font-size:13px; }

.plan-save-rail { margin:0; padding:clamp(24px,4vw,42px); border-top:2px solid var(--plan-accent); background:var(--ink); color:var(--paper); }
.plan-save-rail h3 { margin:0; font-size:clamp(22px,3vw,32px); letter-spacing:-.04em; }
.plan-save-rail > p { max-width:58ch; margin:10px 0 22px; color:color-mix(in srgb,var(--paper) 75%,transparent); line-height:1.7; }
.save-form { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; }
.save-form input { min-width:0; border:1px solid color-mix(in srgb,var(--paper) 35%,transparent); background:color-mix(in srgb,var(--ink) 72%,transparent); color:var(--paper); padding:12px; }
.save-form input::placeholder { color:color-mix(in srgb,var(--paper) 55%,transparent); }
.save-form button { border:0; background:var(--plan-accent); color:var(--ink); padding:12px 16px; font-weight:800; cursor:pointer; }
.save-code-row { display:flex; gap:10px; margin-top:10px; }
.save-code-row input { width:180px; border:1px solid color-mix(in srgb,var(--paper) 35%,transparent); background:color-mix(in srgb,var(--ink) 72%,transparent); color:var(--paper); padding:12px; }
.save-code-row button { border:1px solid color-mix(in srgb,var(--paper) 55%,transparent); color:var(--paper); background:transparent; padding:12px 16px; cursor:pointer; }
.save-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.save-actions[hidden] { display:none; }
.save-actions button,.save-actions a { border:1px solid color-mix(in srgb,var(--paper) 45%,transparent); background:transparent; color:var(--paper); padding:10px 14px; text-decoration:none; cursor:pointer; }
.save-actions .save-primary { background:var(--plan-accent); color:var(--ink); border-color:var(--plan-accent); font-weight:800; }
.save-message { min-height:1.4em; margin:12px 0 0; font-size:13px; color:var(--plan-accent); }
.save-message.err { color:var(--error); }
.save-message.ok { color:var(--success); }
.plan-skill { margin:clamp(32px,5vw,60px) clamp(20px,4vw,48px) 0; padding:clamp(24px,4vw,42px); border:1px solid var(--line); background:var(--white); }
.plan-skill .plan-eyebrow { color:var(--blue); }
.plan-skill h2 { margin:0 0 14px; font-size:clamp(22px,3vw,32px); }
.plan-skill p:not(.plan-eyebrow) { margin:0 0 14px; color:var(--muted); line-height:1.8; }
.plan-skill .plan-text-button { padding:12px 18px; color:var(--paper); background:var(--ink); text-decoration:none; }
.plan-skill-command { margin:14px 0 0; padding:16px; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.plan-save-rail > .plan-demo-meta { margin:0 0 18px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--paper) 25%,transparent); background:color-mix(in srgb,var(--ink) 78%,transparent); color:color-mix(in srgb,var(--paper) 82%,transparent); font-size:13px; line-height:1.7; }

.plan-sample { padding:clamp(24px,4vw,48px); border:1px dashed var(--line); background:var(--paper); }
.plan-sample h2 { margin:0 0 10px; }
.plan-sample p { color:var(--muted); line-height:1.8; }
.plan-failed { margin:0 clamp(24px,4vw,48px) clamp(24px,4vw,48px); padding:22px; border:1px solid var(--error-deep); background:var(--paper); }
.plan-failed h2 { margin:0 0 10px; font-size:clamp(20px,2.5vw,26px); letter-spacing:-.03em; }
.plan-failed p { margin:0; color:var(--muted); line-height:1.8; }
.plan-faq { max-width:900px; margin:clamp(50px,8vw,96px) auto 0; padding:0 clamp(20px,4vw,48px); }
.plan-faq details { border-top:1px solid var(--line); padding:17px 0; }
.plan-faq summary { cursor:pointer; font-weight:800; }
.plan-faq p { color:var(--muted); line-height:1.8; }

@media (max-width: 880px) {
	.plan-stage { padding-top:20px; }
	.plan-form-top, .plan-result-head { display:block; }
	.plan-form-top p { margin-top:8px; text-align:left; }
	.plan-result-head > p { margin-top:12px; }
	.plan-model { border-right:0; border-bottom:1px solid var(--line); }
	.plan-model:last-child { border-bottom:0; }
	.save-form { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
	.plan-two-col { grid-template-columns:1fr; }
	.plan-proof { grid-template-columns:1fr; }
	.plan-proof div { border-bottom:1px solid color-mix(in srgb,var(--paper) 22%,transparent); }
	.plan-proof div:last-child { border-bottom:0; }
	.save-code-row { flex-direction:column; }
	.save-code-row input { width:100%; }
}
@media print {
	html.print-ai-plan .skip-link,
	html.print-ai-plan .share-fab,
	html.print-ai-plan .share-panel,
	html.print-ai-plan .site-header,
	html.print-ai-plan .topline,
	html.print-ai-plan .plan-stage,
	html.print-ai-plan .plan-toolbar,
	html.print-ai-plan .plan-faq,
	html.print-ai-plan .site-footer,
	html.print-ai-plan .wa-float,
	html.print-ai-plan .plan-save-rail,
	html.print-ai-plan .plan-skill,
	html.print-ai-plan .plan-sample { display:none !important; }
	html.print-ai-plan .plan-result-wrap { padding:0; max-width:none; }
	html.print-ai-plan .ai-plan-app { padding:0; }
	html.print-ai-plan .plan-report { border:0; }
	html.print-ai-plan h3 { break-after:avoid; }
}
