:root {
  color-scheme: light;
  --bg: #f3efe5;
  --surface: #fffdf8;
  --surface-2: #e9e4d8;
  --ink: #18332c;
  --muted: #63736d;
  --primary: #173f35;
  --primary-2: #285e50;
  --accent: #c96f55;
  --moss: #71836b;
  --amber: #a76524;
  --danger: #a23c3c;
  --line: #d7d1c4;
  --focus: #286b5b;
  --shadow: 0 20px 60px rgb(30 50 42 / .10);
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); line-height: 1.6; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid color-mix(in srgb, var(--focus) 35%, transparent); outline-offset: 2px; }
.hidden { display: none !important; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 700; letter-spacing: .08em; text-decoration: none; }
.brand-mark { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--primary); border-radius: 50%; background: var(--primary); color: #fffaf0; font-family: serif; }
.site-nav { position: sticky; z-index: 20; top: 0; display: flex; max-width: 1240px; margin: 0 auto; padding: 22px 28px; align-items: center; justify-content: space-between; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(12px); }
.site-nav nav, .site-footer nav { display: flex; align-items: center; gap: 24px; }
.site-nav nav a, .site-footer nav a { color: var(--muted); text-decoration: none; }
.site-nav nav a:hover, .site-footer nav a:hover { color: var(--primary); }
.button { display: inline-flex; min-height: 44px; padding: 0 20px; align-items: center; justify-content: center; border: 1px solid var(--primary); border-radius: var(--r-sm); background: var(--primary); color: #fffdf7; cursor: pointer; font-weight: 650; text-decoration: none; transition: transform .16s ease, background .16s ease; }
.button:hover { background: var(--primary-2); transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.button.secondary { background: transparent; color: var(--primary); }
.button.secondary:hover { background: #e5e7de; }
.button.danger { border-color: var(--danger); background: var(--danger); }
.button.small { min-height: 36px; padding: 0 14px; font-size: 14px; }
.button.full { width: 100%; }
.text-link, .text-button { border: 0; background: none; color: var(--primary); cursor: pointer; font-weight: 650; text-decoration: none; }
.text-button { padding: 6px 0; text-align: left; }
.eyebrow { margin: 0 0 12px; color: var(--accent); font-size: 12px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.section-grid { display: grid; max-width: 1240px; min-height: 660px; margin: 0 auto; padding: 86px 28px 72px; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 56px; }
.hero h1 { max-width: 720px; margin: 0; font-family: serif; font-size: clamp(54px, 7vw, 96px); font-weight: 500; letter-spacing: -.06em; line-height: 1.03; }
.lead { max-width: 620px; margin: 30px 0; color: #435a53; font-size: 19px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.disclosure { max-width: 600px; margin: 24px 0 0; padding: 14px 16px; border-radius: var(--r-sm); background: var(--surface-2); color: var(--muted); font-size: 13px; }
.channel-entry-card { width:min(100%,470px); margin:auto; padding:30px; border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line)); border-radius:28px; background:var(--surface); box-shadow:var(--shadow); }
.channel-entry-card > header { display:flex; margin-bottom:22px; align-items:center; gap:14px; }.channel-entry-card h2 { margin:2px 0 0; font-family:serif; font-size:32px; font-weight:500; line-height:1.1; }.channel-entry-card header small { color:var(--muted); }
.channel-entry-mark { display:grid; width:52px; height:52px; flex:0 0 auto; place-items:center; border-radius:18px; background:var(--primary); color:#fffdf7; font-family:serif; font-size:24px; }
.entry-qr-shell { display:grid; width:min(100%,320px); aspect-ratio:1; margin:0 auto; padding:18px; place-items:center; border:1px solid var(--line); border-radius:24px; background:#fff; }
.entry-qr-shell img { display:block; width:100%; height:100%; object-fit:contain; }.entry-placeholder { display:grid; width:100%; height:100%; place-items:center; align-content:center; border:1px dashed var(--line); border-radius:16px; background:var(--surface-2); color:var(--muted); text-align:center; gap:6px; }.entry-placeholder strong { color:var(--primary); font-family:serif; font-size:28px; font-weight:500; }.entry-placeholder span { font-size:13px; }
.entry-status { min-height:48px; margin:16px 0; color:var(--muted); font-size:14px; text-align:center; }.entry-consent { margin-top:6px; }.entry-consent .check { margin-bottom:14px; font-size:13px; }.entry-consent a { color:var(--primary); text-underline-offset:3px; }.entry-actions { display:flex; margin-top:10px; align-items:center; justify-content:center; gap:16px; }.entry-mobile-hint { margin:14px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.memory-orbit { position: relative; display: grid; width: min(100%, 520px); aspect-ratio: 1; place-items: center; margin: auto; }
.orbit { position: absolute; border: 1px solid color-mix(in srgb, var(--primary) 28%, transparent); border-radius: 50%; }
.orbit::before { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); content: ""; }
.orbit-one { inset: 9%; }
.orbit-one::before { top: 18%; right: 7%; }
.orbit-two { inset: 23%; border-style: dashed; }
.orbit-two::before { bottom: 5%; left: 28%; background: var(--moss); }
.orbit-three { inset: 36%; }
.orbit-core { z-index: 2; display: grid; width: 132px; height: 132px; place-items: center; align-content: center; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 16px rgb(23 63 53 / .07); color: #fffdf7; }
.orbit-core strong { font-family: serif; font-size: 30px; font-weight: 500; }
.orbit-core small { color: #d5e1da; }
.memory-note { position: absolute; z-index: 3; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); box-shadow: 0 8px 24px rgb(30 50 42 / .08); color: var(--primary); font-size: 13px; }
.note-one { top: 17%; left: 2%; }.note-two { right: 0; bottom: 20%; }
.trust-strip { display: grid; max-width: 1184px; margin: 0 auto; padding: 30px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); grid-template-columns: repeat(3, 1fr); }
.trust-strip div { display: grid; padding: 0 32px; gap: 4px; border-right: 1px solid var(--line); }
.trust-strip div:last-child { border: 0; }.trust-strip span { color: var(--muted); font-size: 14px; }
.content-section { max-width: 1184px; margin: 0 auto; padding: 120px 28px; }
.section-heading { display: grid; margin-bottom: 54px; grid-template-columns: .6fr 1.4fr; }
.section-heading h2, .split-feature h2 { max-width: 760px; margin: 0; font-family: serif; font-size: clamp(38px, 5vw, 64px); font-weight: 500; line-height: 1.15; }
.steps { margin: 0; padding: 0; list-style: none; }
.steps li { display: grid; padding: 32px 0; border-top: 1px solid var(--line); grid-template-columns: 120px 1fr; }
.steps li:last-child { border-bottom: 1px solid var(--line); }
.steps li > span { color: var(--accent); font-family: ui-monospace, monospace; font-size: 14px; }
.steps h3 { margin: 0 0 8px; font-size: 24px; }.steps p { max-width: 700px; margin: 0; color: var(--muted); }
.split-feature { display: grid; max-width: 1184px; margin: 0 auto 100px; padding: 64px; border-radius: var(--r-lg); background: var(--primary); color: #fffdf7; grid-template-columns: 1.25fr .75fr; gap: 60px; }
.split-feature p { color: #d5e1da; }.split-feature .eyebrow { color: #e9a48f; }
.model-disclosure { display: flex; padding: 32px; align-self: end; flex-direction: column; border: 1px solid rgb(255 255 255 / .2); border-radius: var(--r-md); }
.model-disclosure span, .model-disclosure small { color: #c5d2cc; }.model-disclosure strong { margin: 8px 0; font-size: 20px; }
.site-footer { display: grid; max-width: 1184px; margin: 0 auto; padding: 56px 28px 40px; border-top: 1px solid var(--line); grid-template-columns: 1fr 1.5fr; gap: 36px; }
.site-footer p { color: var(--muted); }.site-footer nav { align-items: flex-start; justify-content: flex-end; flex-wrap: wrap; }
.footer-note { grid-column: 1 / -1; font-size: 12px; }

/* Authentication and customer workspace */
.auth-layout { display: grid; min-height: 100vh; padding: 56px; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; }
.auth-intro { padding-left: 7vw; }.auth-intro h1 { margin: 64px 0 24px; font-family: serif; font-size: clamp(48px, 6vw, 82px); font-weight: 500; line-height: 1.08; }.auth-intro p { max-width: 560px; color: var(--muted); font-size: 18px; }
.auth-form { width: min(100%, 460px); padding: 38px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow); }
.auth-form h1, .auth-form h2 { margin: 0 0 24px; font-family: serif; font-size: 36px; font-weight: 500; }
label { display: grid; margin-bottom: 18px; gap: 7px; color: #334c45; font-size: 14px; font-weight: 650; }
input, textarea, select { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fffefb; color: var(--ink); resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--focus); }
.check { display: flex; align-items: flex-start; grid-template-columns: auto 1fr; font-weight: 500; }.check input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--primary); }.check span { flex: 1; }
.form-hint { color: var(--muted); font-size: 12px; }.form-hint code, code { font-family: ui-monospace, monospace; }
.workspace { display: grid; min-height: 100vh; grid-template-columns: 220px 1fr; }
.app-sidebar { position: sticky; top: 0; display: flex; height: 100vh; padding: 28px 22px; flex-direction: column; border-right: 1px solid var(--line); background: #ede8dc; }
.app-sidebar nav, .admin-sidebar nav { display: grid; margin: 54px 0; gap: 6px; }
.app-sidebar nav button, .admin-sidebar nav button, .mobile-nav button { padding: 11px 14px; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--muted); cursor: pointer; text-align: left; }
.app-sidebar nav button.active, .admin-sidebar nav button.active, .mobile-nav button.active { background: var(--surface); color: var(--primary); font-weight: 700; }
.sidebar-user { display: grid; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }.sidebar-user small { color: var(--muted); }.sidebar-user b { color: var(--accent); }
.app-main { width: min(100%, 1160px); margin: 0 auto; padding: 54px 64px 90px; }
.mobile-app-header, .mobile-nav { display: none; }
.app-panel { min-height: calc(100vh - 144px); }
.panel-heading { display: flex; min-height: 88px; margin-bottom: 38px; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.panel-heading h1 { margin: 0 0 24px; font-family: serif; font-size: clamp(36px, 5vw, 58px); font-weight: 500; line-height: 1.1; }
.home-active { display: grid; min-height: 390px; align-items: center; grid-template-columns: 1.1fr .9fr; gap: 40px; }
.active-agent-copy h2 { margin: 0 0 14px; font-family: serif; font-size: 52px; font-weight: 500; }.active-agent-copy > p:not(.eyebrow) { max-width: 560px; color: var(--muted); font-size: 17px; }.inline-actions { display: flex; margin-top: 26px; gap: 12px; flex-wrap: wrap; }
.compact-orbit { width: 320px; }.compact-orbit .orbit-one { inset: 7%; }.compact-orbit .orbit-two { inset: 24%; }.compact-orbit .orbit-core { width: 106px; height: 106px; }
.empty-state { display: grid; min-height: 420px; place-items: center; align-content: center; text-align: center; }.empty-state h2 { margin: 22px 0 4px; }.empty-state p { margin: 0 0 20px; color: var(--muted); }.empty-orbit { width: 100px; height: 100px; border: 1px dashed var(--moss); border-radius: 50%; box-shadow: 0 0 0 22px rgb(113 131 107 / .1), 0 0 0 44px rgb(113 131 107 / .06); }
.binding-panel { display: flex; margin: 22px 0; padding: 22px 26px; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); }.binding-panel h3, .binding-panel p { margin: 0; }.binding-panel code { margin-left: 8px; color: var(--accent); font-size: 20px; letter-spacing: .1em; }
.safety-note { margin-top: 36px; padding: 20px 24px; border-radius: var(--r-sm); background: #eee5d2; }.safety-note p { margin: 4px 0 0; color: #6f5d3e; font-size: 14px; }
.agent-list { display: grid; gap: 0; }
.agent-row { display: grid; padding: 24px 4px; align-items: center; border-top: 1px solid var(--line); grid-template-columns: 1fr auto; gap: 20px; }.agent-row:last-child { border-bottom: 1px solid var(--line); }.agent-row h2 { margin: 0; font-size: 22px; }.agent-row p { max-width: 650px; margin: 5px 0; color: var(--muted); }.agent-meta { display: flex; gap: 10px; color: var(--muted); font-size: 12px; }.state-dot::before { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--moss); content: ""; }.state-dot.draft::before { background: var(--amber); }.row-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.icon-button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--surface-2); color: var(--ink); cursor: pointer; font-size: 23px; }
.editor-sheet { margin: 32px 0; padding: 30px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow); }.sheet-heading { display: flex; align-items: center; justify-content: space-between; }.sheet-heading h2 { margin: 0 0 22px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.clone-section { margin-top: 34px; border-top: 1px solid var(--line); }.clone-section summary { padding: 24px 0; cursor: pointer; font-weight: 700; }.clone-section form { max-width: 760px; }
.advanced-settings { margin: 18px 0; padding: 0 18px 18px; border: 1px solid var(--line); border-radius: var(--r-md); background: #faf9fa; }.advanced-settings summary { padding: 18px 0; cursor: pointer; font-weight: 700; }.parameter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.binding-qr { width: 148px; height: 148px; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: #fff; object-fit: contain; }
.chat-panel { display: grid; height: calc(100vh - 108px); grid-template-rows: auto 1fr auto; }.chat-heading { min-height: auto; }.ai-chip { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; }
.message-list { display: flex; padding: 10px 0 30px; overflow-y: auto; flex-direction: column; gap: 14px; }.empty-chat { margin: auto; color: var(--muted); }.message { max-width: min(76%, 680px); padding: 13px 16px; border-radius: 4px 18px 18px 18px; background: var(--surface); box-shadow: 0 4px 18px rgb(30 50 42 / .06); white-space: pre-wrap; }.message.user { align-self: flex-end; border-radius: 18px 4px 18px 18px; background: var(--primary); color: #fffdf7; }.message small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }.message.user small { color: #cbd8d2; }
.composer { position: relative; display: grid; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); grid-template-columns: auto 1fr auto; gap: 10px; align-items: end; }.composer textarea { min-height: 46px; max-height: 140px; border: 0; background: transparent; }.composer > small, .file-preview { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }.upload-button { display: inline-flex; min-height: 42px; margin: 0; padding: 0 10px; align-items: center; border: 1px solid var(--line); border-radius: var(--r-sm); cursor: pointer; font-weight: 600; }.upload-button input { display: none; }.file-preview { display: flex; gap: 6px; flex-wrap: wrap; }.file-preview span { padding: 4px 8px; border-radius: 999px; background: var(--surface-2); }
.balance { display: flex; align-items: baseline; gap: 8px; }.balance b { color: var(--accent); font-family: ui-monospace, monospace; font-size: 44px; }.balance span { color: var(--muted); }
.package-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.package { padding: 24px; background: var(--surface); }.package h2, .package p { margin: 0; }.package strong { display: block; margin: 20px 0; font-size: 30px; }.package small { color: var(--muted); }.subheading { margin-top: 48px; }
.ledger-list { border-top: 1px solid var(--line); }.ledger-row { display: grid; padding: 14px 4px; border-bottom: 1px solid var(--line); grid-template-columns: 1fr auto; }.ledger-row span { color: var(--muted); }.ledger-row b.positive { color: var(--moss); }.ledger-row b.negative { color: var(--accent); }
.data-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.data-actions article { padding: 30px; border: 1px solid var(--line); background: var(--surface); }.data-actions p, .processor-list p { color: var(--muted); }.danger-zone { border-color: color-mix(in srgb, var(--danger) 35%, var(--line)) !important; }.processor-list { margin-top: 28px; padding: 26px 0; border-top: 1px solid var(--line); }
.toast { position: fixed; z-index: 100; right: 24px; top: 24px; max-width: min(420px, calc(100vw - 48px)); padding: 12px 16px; border-radius: var(--r-sm); background: var(--ink); color: #fff; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: .18s ease; }.toast.show { opacity: 1; transform: translateY(0); }

/* Admin */
.admin-login { display: grid; min-height: 100vh; place-items: center; padding: 28px; }
.admin-workspace { display: grid; min-height: 100vh; grid-template-columns: 240px 1fr; }
.admin-sidebar { position: sticky; top: 0; display: flex; height: 100vh; padding: 26px 20px; flex-direction: column; border-right: 1px solid var(--line); background: var(--primary); color: #fff; }.admin-sidebar .brand { color: #fff; }.admin-sidebar .brand-mark { border-color: #fff; background: #fff; color: var(--primary); }.admin-sidebar nav button { color: #c7d5cf; }.admin-sidebar nav button.active { background: rgb(255 255 255 / .12); color: #fff; }.admin-sidebar .text-button { margin-top: auto; color: #fff; }
.admin-main { min-width: 0; padding: 42px; }.admin-heading { display: flex; margin-bottom: 30px; align-items: center; justify-content: space-between; }.admin-heading h1 { margin: 0; font-family: serif; font-size: 42px; font-weight: 500; }.admin-tools, .admin-search { display: flex; align-items: center; gap: 8px; }.admin-search { margin: 0; }.admin-search input { width: min(260px, 34vw); min-height: 38px; margin: 0; padding: 8px 11px; }.admin-search .button, .admin-tools > .button { white-space: nowrap; }
.h5-page-list { display:grid; gap:20px; }.h5-page-editor { padding:24px; border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow); }.h5-page-editor header { display:flex; margin-bottom:20px; align-items:flex-start; justify-content:space-between; gap:20px; }.h5-page-editor header h2 { margin:8px 0 2px; }.h5-auth-label { color:var(--muted); font-size:13px; }.h5-page-fields { display:grid; margin-bottom:16px; grid-template-columns:minmax(170px,.8fr) minmax(280px,1.4fr) 110px minmax(230px,1fr); gap:14px; align-items:end; }.admin-check { display:flex; min-height:47px; margin:0; padding:10px 12px; align-items:center; gap:9px; border:1px solid var(--line); background:var(--surface-2); }.admin-check input { width:auto; margin:0; }.h5-page-editor textarea { min-height:180px; font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }.h5-page-actions { display:flex; margin-top:14px; align-items:center; justify-content:space-between; gap:20px; }.h5-page-actions p { max-width:620px; margin:0; color:var(--muted); font-size:12px; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.metric { padding: 22px; border-top: 2px solid var(--primary); background: var(--surface); }.metric span { color: var(--muted); }.metric strong { display: block; margin-top: 8px; font-family: ui-monospace, monospace; font-size: 30px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); background: var(--surface); }.admin-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 13px; }.admin-table th, .admin-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }.admin-table th { position: sticky; top: 0; background: #ebe6da; color: var(--muted); }.admin-table tr:last-child td { border-bottom: 0; }.admin-table code { word-break: break-all; }.admin-table .button { min-height: 30px; margin: 2px; padding: 0 9px; font-size: 12px; }.status { display: inline-flex; padding: 2px 7px; border-radius: 999px; background: var(--surface-2); }.status.open, .status.failed, .status.suspended { background: #f1d7cf; color: var(--danger); }.status.active, .status.done, .status.paid { background: #dbe6dc; color: var(--primary); }

/* Legal */
.legal-page { max-width: 860px; margin: 0 auto; padding: 40px 28px 100px; }.legal-page header { display: flex; margin-bottom: 70px; align-items: center; justify-content: space-between; }.legal-page h1 { margin: 0; font-family: serif; font-size: clamp(42px, 7vw, 72px); font-weight: 500; }.legal-page h2 { margin-top: 42px; font-size: 22px; }.legal-page p, .legal-page li { color: #465b55; }.legal-updated { color: var(--muted); font-size: 13px; }.legal-callout { padding: 18px 22px; border-radius: var(--r-sm); background: var(--surface); }

@media (max-width: 900px) {
  .site-nav { padding: 16px 18px; }.site-nav nav a:not(.button) { display: none; }
  .section-grid { min-height: auto; padding: 70px 20px; grid-template-columns: 1fr; }.hero h1 { font-size: 56px; }.hero-orbit { width: min(100%, 380px); }.channel-entry-card { margin-top:24px; }
  .trust-strip { margin: 0 20px; grid-template-columns: 1fr; }.trust-strip div { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--line); }.trust-strip div:last-child { border: 0; }
  .content-section { padding: 90px 20px; }.section-heading { grid-template-columns: 1fr; }.steps li { grid-template-columns: 58px 1fr; }.split-feature { margin: 0 20px 70px; padding: 36px 24px; grid-template-columns: 1fr; gap: 28px; }.site-footer { margin: 0 20px; padding-inline: 0; grid-template-columns: 1fr; }.site-footer nav { justify-content: flex-start; }.footer-note { grid-column: auto; }
  .auth-layout { padding: 28px 20px; grid-template-columns: 1fr; }.auth-intro { padding: 0; }.auth-intro h1 { margin-top: 44px; font-size: 52px; }.auth-form { margin: 0 auto; }
  .workspace { display: block; }.app-sidebar { display: none; }.app-main { padding: 76px 18px 92px; }.mobile-app-header { position: fixed; z-index: 20; top: 0; left: 0; right: 0; display: flex; height: 64px; padding: 10px 16px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(12px); }.mobile-app-header .brand-mark { width: 32px; height: 32px; }
  .mobile-nav { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; display: grid; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 96%, transparent); grid-template-columns: repeat(4, 1fr); backdrop-filter: blur(12px); }.mobile-nav button { padding: 8px 2px; text-align: center; font-size: 12px; }
  .panel-heading h1 { font-size: 40px; }.home-active { min-height: auto; grid-template-columns: 1fr; }.compact-orbit { order: -1; width: 260px; }.binding-panel { align-items: flex-start; flex-direction: column; gap: 16px; }.agent-row { grid-template-columns: 1fr; }.row-actions { justify-content: flex-start; }.form-grid, .parameter-grid, .package-list, .data-actions { grid-template-columns: 1fr; }.editor-sheet { padding: 20px; }.chat-panel { height: calc(100dvh - 168px); }.message { max-width: 88%; }.composer { grid-template-columns: auto 1fr; }.composer .button { grid-column: 2; }.balance b { font-size: 34px; }
  .admin-workspace { width: 100%; max-width: 100vw; overflow-x: hidden; grid-template-columns: minmax(0, 1fr); }.admin-sidebar { position: static; width: 100%; min-width: 0; height: auto; overflow: hidden; }.admin-sidebar nav { display: flex; width: 100%; min-width: 0; margin: 24px 0; overflow-x: auto; }.admin-sidebar nav button { flex: 0 0 auto; white-space: nowrap; }.admin-sidebar .text-button { margin: 0; }.admin-main { padding: 24px 16px; }.admin-heading { align-items: flex-start; flex-direction: column; gap: 14px; }.admin-tools { width: 100%; }.admin-search { min-width: 0; flex: 1; }.admin-search input { width: 100%; }.metric-grid { grid-template-columns: 1fr 1fr; }.h5-page-fields { grid-template-columns:1fr; }.h5-page-actions { align-items:stretch; flex-direction:column; }.h5-page-actions .button { width:100%; }
}

@media (max-width: 520px) {
  .hero h1 { font-size: 46px; }.lead { font-size: 16px; }.hero-actions { align-items: stretch; flex-direction: column; }.memory-note { font-size: 11px; }.channel-entry-card { padding:22px 18px; border-radius:22px; }.channel-entry-card h2 { font-size:28px; }.entry-qr-shell { width:min(100%,280px); padding:14px; }.trust-strip { margin-inline: 18px; }.section-heading h2, .split-feature h2 { font-size: 38px; }.split-feature { margin-inline: 12px; }.site-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
  .auth-layout { padding: 18px 14px 40px; }.auth-intro h1 { font-size: 42px; }.auth-form { padding: 24px 20px; }.panel-heading { align-items: flex-start; flex-direction: column; }.panel-heading > .button { margin-bottom: 16px; }.agent-row { padding: 20px 0; }.composer { padding: 10px; }.upload-button { font-size: 12px; }.metric-grid { grid-template-columns: 1fr; }.h5-page-editor { padding:18px; }.h5-page-editor header { flex-direction:column; }.mini-only-entry .auth-intro { padding:30px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Qiyu companion app — mobile-first visual system based on the pinned reference. */
.app-body {
  --bg: #f5f6f8;
  --surface: #ffffff;
  --surface-2: #f1f0f2;
  --ink: #202125;
  --muted: #66646a;
  --primary: #9b5871;
  --primary-2: #7e455b;
  --accent: #c72f66;
  --moss: #237f46;
  --amber: #9b5871;
  --danger: #b8495e;
  --line: #ececef;
  --focus: #9b5871;
  --shadow: 0 18px 48px rgb(44 39 43 / .075);
  --r-sm: 14px;
  --r-md: 20px;
  --r-lg: 30px;
  background: var(--bg);
  color: var(--ink);
  min-height: 100dvh;
  overflow-x: hidden;
  overscroll-behavior-y: none;
  -webkit-tap-highlight-color: transparent;
}
.app-body ::selection { background:#ead5dd; color:var(--ink); }
.app-body .brand { color: var(--primary); letter-spacing: .02em; }
.app-body .brand-mark { width: 40px; height: 40px; border: 0; border-radius: 15px; background: var(--primary); box-shadow: 0 8px 20px rgb(155 88 113 / .18); font-family: inherit; }
.app-body .button { min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--primary); color: #fff; box-shadow: none; }
.app-body .button:hover { background: var(--primary-2); }
.app-body .button.secondary { border: 1px solid #dfd9dc; background: #fff; color: var(--primary); }
.app-body .button.secondary:hover, .app-body .button.quiet:hover { background: #f8f1f4; }
.app-body .button.quiet { border: 1px solid #e5dfe2; background: transparent; color: var(--primary); }
.app-body .button.danger { background: var(--danger); }
.app-body .button.small { min-height: 40px; padding-inline: 17px; }
.app-body label { color: #454247; }
.app-body input, .app-body textarea, .app-body select { min-height: 48px; padding: 12px 14px; border-color: #e6e3e6; border-radius: 14px; background: #faf9fa; }
.app-body textarea { min-height: auto; }
.app-body input:focus, .app-body textarea:focus, .app-body select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgb(155 88 113 / .11); outline: 0; }

.app-body .auth-layout { min-height: 100dvh; padding: 64px max(28px, 7vw); background: #f8f4f6; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr); }
.app-body .auth-intro { padding-left: 4vw; }
.app-body .auth-intro h1 { max-width: 680px; margin-top: 78px; color: var(--primary); font-family: inherit; font-weight: 760; letter-spacing: -.05em; }
.app-body .auth-intro p { color: #777379; }
.app-body .auth-form { width: min(100%, 480px); padding: 42px; border: 0; border-radius: 34px; background: #fff; }
.app-body .auth-form h2 { margin: 16px 0 8px; font-family: inherit; font-size: 31px; font-weight: 760; }
.auth-badge, .empty-avatar { display: grid; width: 74px; height: 74px; place-items: center; border-radius: 24px; background: var(--primary); color: #fff; font-size: 30px; font-weight: 700; }
.auth-copy { margin: 0 0 28px; color: var(--muted); }

.app-body .workspace { grid-template-columns: 236px minmax(0, 1fr); }
.app-body .app-sidebar { z-index: 10; padding: 30px 22px; border: 0; background: #fff; box-shadow: 8px 0 28px rgb(48 43 46 / .035); }
.app-body .app-sidebar nav { margin-block: 62px; gap: 10px; }
.app-body .app-sidebar nav button { min-height: 48px; padding-inline: 18px; border-radius: 16px; color: #8d898e; font-size: 15px; }
.app-body .app-sidebar nav button.active { background: #f6edf1; color: var(--primary); }
.app-body .sidebar-user { border-color: var(--line); }
.app-body .app-main { width: min(100%, 1140px); padding: 52px 58px 100px; }
.app-body .app-panel { min-height: calc(100vh - 152px); }
.app-body .panel-heading { min-height: 82px; margin-bottom: 28px; border: 0; }
.app-body .panel-heading h1, .app-body .panel-heading h2 { margin: 0 0 6px; font-family: inherit; font-size: clamp(32px, 4vw, 46px); font-weight: 760; letter-spacing: -.035em; }
.app-body .panel-heading p { margin: 0; color: var(--muted); }

.account-overview, .profile-card, .companion-summary, .binding-panel, .safety-note, .agent-row, .editor-sheet, .clone-section, .energy-balance, .package, .ledger-list, .data-actions article, .processor-list {
  border: 0;
  border-radius: var(--r-lg);
  background: #fff;
  box-shadow: var(--shadow);
}
.account-overview { display: grid; padding: 34px; overflow: hidden; align-items: center; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; }
.account-avatar, .profile-avatar { display: grid; width: 82px; height: 82px; place-items: center; border-radius: 28px; background: var(--primary); color: #fff; box-shadow: 0 12px 24px rgb(155 88 113 / .22); font-size: 32px; font-weight: 700; }
.account-copy { min-width: 0; }
.account-copy h2, .profile-card h1 { margin: 0; overflow: hidden; font-size: 29px; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.account-copy p, .profile-card p { margin: 5px 0 0; color: var(--muted); letter-spacing: .04em; }
.account-primary { margin-top: 10px; padding: 26px 8px 4px; border-top: 1px solid var(--line); }
.account-primary:nth-of-type(3) { grid-column: 1 / 3; }
.account-primary + .account-primary { padding-left: 28px; border-left: 1px solid var(--line); }
.account-primary span, .profile-stat span { display: block; margin-bottom: 6px; color: #5b575c; font-size: 14px; }
.account-primary strong, .profile-stat strong { color: var(--primary); font-size: 22px; }
.account-primary b { font: inherit; }

.app-body .empty-state { min-height: 360px; margin-top: 28px; border-radius: var(--r-lg); background: #fff; box-shadow: var(--shadow); }
.app-body .empty-state .empty-avatar { width: 82px; height: 82px; border-radius: 28px; }
.app-body .empty-state h2 { font-size: 27px; }
.companion-summary { display: grid; margin-top: 28px; padding: 34px; align-items: center; grid-template-columns: 176px 1fr; gap: 36px; }
.companion-avatar { display: grid; width: 176px; height: 176px; place-items: center; border-radius: 50%; background: #f7e9ef; color: var(--primary); text-align: center; }
.companion-avatar::before { display: block; margin-bottom: -48px; color: #d49ab0; content: "当前伙伴"; font-size: 12px; font-weight: 700; }
.companion-avatar span { max-width: 120px; overflow: hidden; font-size: 24px; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.active-agent-copy h2 { margin: 0 0 6px; font-family: inherit; font-size: 36px; font-weight: 760; }
.active-agent-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); }
.binding-panel { margin-top: 22px; padding: 26px 30px; }
.binding-state > span { color: var(--muted); font-size: 13px; }
.app-body .binding-panel code { color: var(--primary); }
.safety-note { margin-top: 22px; padding: 24px 28px; border: 0; background: #f8eef2; }
.safety-note p { color: #75646b; }

.app-body .agent-list { gap: 16px; }
.app-body .agent-row { padding: 28px 30px; border: 0; }
.app-body .agent-row:last-child { border: 0; }
.app-body .agent-meta { margin-bottom: 8px; }
.app-body .agent-row h2 { font-size: 24px; }
.app-body .editor-sheet { margin-top: 22px; padding: 34px; }
.app-body .icon-button { width: auto; height: 40px; padding: 0 15px; border-radius: 999px; color: var(--primary); font-size: 14px; }
.app-body .clone-section { margin-top: 18px; padding-inline: 28px; }
.app-body .clone-section summary { color: #5e5559; }

.wallet-panel { padding-bottom: 20px; }
.energy-hero { min-height: 260px; margin: -52px -58px 0; padding: 62px 58px 104px; background: #f7e9ef; }
.energy-hero h1 { margin: 0 0 48px; color: var(--primary); font-size: clamp(44px, 6vw, 68px); letter-spacing: -.055em; }
.energy-hero h2 { margin: 0; font-size: 31px; }
.energy-hero p { margin: 7px 0 0; color: #7c7479; }
.energy-balance { position: relative; display: flex; min-height: 124px; margin: -56px 0 38px; padding: 30px 38px; align-items: center; justify-content: space-between; }
.energy-balance span { font-size: 20px; font-weight: 730; }
.energy-balance strong { color: var(--primary); font-size: 28px; }
.energy-balance b { font: inherit; }
.wallet-heading { min-height: auto !important; }
.app-body .package-list { grid-template-columns: 1fr; gap: 14px; }
.app-body .package { display: grid; min-height: 104px; padding: 22px 26px; align-items: center; border: 0; grid-template-columns: 1fr auto auto; gap: 24px; }
.app-body .package h2 { font-size: 20px; }
.app-body .package strong { margin: 0; color: var(--primary); font-size: 23px; }
.app-body .package small { color: var(--muted); }
.payment-notice { margin: 16px 4px; }
.app-body .subheading { margin: 42px 0 16px; }
.app-body .ledger-list { overflow: hidden; }
.app-body .ledger-row { padding: 17px 22px; border-color: var(--line); }
.growth-hero { min-height:360px; background:#f7e9ef; }
.growth-hero h1 { margin-bottom:62px; }
.growth-hero h2 { font-size:38px; }
.growth-hero p { font-size:18px; }
.growth-activity-card, .growth-detail-card { margin:28px 0; padding:34px; border-radius:32px; background:#fff; box-shadow:var(--shadow); }
.growth-activity-card h2, .growth-detail-card h1, .growth-detail-card h2 { margin:0 0 28px; font-size:30px; }
.growth-activity { display:grid; width:100%; min-height:108px; padding:22px 8px; align-items:center; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; cursor:pointer; }
.growth-activity:last-child { border-bottom:0; }
.activity-mark { display:grid; width:62px; height:62px; place-items:center; border-radius:22px; background:#f7e9ef; color:var(--primary); font-size:22px; font-weight:780; }
.growth-activity > span:nth-child(2) { display:grid; }
.growth-activity strong { font-size:21px; }
.growth-activity small { margin-top:5px; color:var(--muted); font-size:13px; }
.growth-activity > b { min-width:82px; padding:12px 20px; border-radius:999px; background:var(--primary); color:#fff; text-align:center; font-size:14px; }
.growth-secondary { margin:26px 0; padding:0 28px 28px; border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.growth-secondary summary { padding:24px 0; color:var(--primary); cursor:pointer; font-weight:750; }
.growth-back { margin:10px 0 0; padding:10px 0; border:0; background:transparent; color:var(--primary); cursor:pointer; font-weight:700; }
.growth-detail-card > p { color:#5f5b60; line-height:1.8; }
.invite-code-row { display:grid; margin:26px 0 20px; padding:9px; align-items:center; border-radius:999px; background:#f5f4f5; grid-template-columns:1fr auto; }
.invite-code-row code { color:#272529; text-align:center; font-size:24px; letter-spacing:.08em; }
.invite-code-row button, #copyGrowthTopic { min-height:48px; padding:0 22px; border:0; border-radius:999px; background:#fff; color:var(--primary); cursor:pointer; font-weight:700; }
.growth-primary { width:min(520px,100%); margin:0 auto; }
.invite-stats { display:grid; margin-top:30px; padding-top:24px; border-top:1px solid var(--line); grid-template-columns:1fr 1fr; }
.invite-stats span { display:grid; place-items:center; }
.invite-stats span + span { border-left:1px solid var(--line); }
.invite-stats b { color:var(--primary); font-size:28px; }
.invite-stats small { color:var(--muted); }
.invite-form { display:grid; align-items:center; grid-template-columns:1fr auto; gap:12px; }
.invite-form input { margin:0; border:0; border-radius:999px; }
.growth-disclaimer { margin:20px 12px; color:#aaa6aa; font-size:12px; line-height:1.8; }
.platform-selector { display:grid; margin:10px 0 20px; padding:16px; border-radius:24px; background:#fff; box-shadow:var(--shadow); grid-template-columns:repeat(4,1fr); gap:8px; }
.platform-selector label { position:relative; margin:0; }
.platform-selector input { position:absolute; opacity:0; }
.platform-selector span { display:grid; min-height:52px; place-items:center; border-radius:16px; color:#646066; cursor:pointer; }
.platform-selector input:checked + span { background:#f7e9ef; color:var(--primary); font-weight:750; }
.reward-rules ol { display:grid; margin:0; padding:0; list-style:none; gap:20px; }
.reward-rules li { display:grid; grid-template-columns:120px 1fr; gap:18px; }
.reward-rules li b { color:var(--primary); font-size:20px; }
.reward-rules > p { margin:24px 0 0; color:#aaa6aa; text-align:center; font-size:12px; }
.campaign-steps { margin:0 0 28px; padding-left:22px; }
.campaign-steps li { margin:14px 0; padding-left:6px; line-height:1.75; }
#copyGrowthTopic { min-height:38px; padding-inline:14px; background:#f7e9ef; }
.growth-proof { position:relative; min-height:210px; overflow:hidden; border:1px dashed #d7cdd1; border-radius:24px; background:#faf7f8; cursor:pointer; }
.growth-proof input { position:absolute; width:1px; height:1px; opacity:0; }
.growth-proof img { position:absolute; width:100%; height:100%; object-fit:cover; }
.growth-proof span { position:absolute; right:18px; bottom:18px; left:18px; display:grid; min-height:52px; place-items:center; border-radius:17px; background:rgb(255 255 255 / .92); color:#777278; font-weight:650; }
.growth-proof span b { margin-right:6px; color:var(--primary); font-size:22px; }
.growth-submit { width:100%; margin-top:24px; }
.growth-submission-list { margin:26px 0; }
.growth-submission-list > h2 { font-size:24px; }
.growth-submission-list article { display:grid; margin:10px 0; padding:18px 20px; align-items:center; border-radius:20px; background:#fff; box-shadow:var(--shadow); grid-template-columns:1fr auto auto; gap:12px; }
.growth-submission-list article > div { display:grid; }.growth-submission-list small { color:var(--muted); }.growth-submission-list article > b { color:var(--primary); }

.profile-card { display: grid; padding: 34px; overflow: hidden; align-items: center; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; }
.profile-card > div:nth-child(2) { min-width: 0; }
.profile-stat { margin-top: 12px; padding: 24px 8px 2px; border-top: 1px solid var(--line); }
.profile-stat:nth-of-type(3) { grid-column: 1 / 3; }
.profile-stat + .profile-stat { padding-left: 28px; border-left: 1px solid var(--line); }
.data-heading { min-height: auto !important; margin-top: 40px; }
.app-body .data-actions { gap: 16px; }
.app-body .data-actions article { padding: 28px; }
.app-body .data-actions article h2 { margin-top: 0; }
.app-body .processor-list { margin-top: 18px; padding: 28px; }
.app-body .processor-list h2 { margin-top: 0; }
.app-body .danger-zone { border: 0 !important; }
.profile-services { margin-top:18px; padding:28px 30px; border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow); }
.profile-services h2 { margin:0 0 12px; font-size:24px; }
.profile-services button { display:grid; width:100%; min-height:76px; padding:16px 4px; align-items:center; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; grid-template-columns:minmax(0,1fr) auto; gap:18px; cursor:pointer; }
.profile-services button:last-child { border-bottom:0; }
.profile-services button span { display:grid; gap:4px; }
.profile-services button strong { font-size:17px; }
.profile-services button small { color:var(--muted); font-size:13px; }
.profile-services button b { position:relative; width:18px; height:18px; font-size:0; }
.profile-services button b::before { position:absolute; top:4px; left:3px; width:8px; height:8px; border-top:2px solid #aaa6aa; border-right:2px solid #aaa6aa; content:""; transform:rotate(45deg); }
.profile-services button:focus-visible { border-radius:12px; outline:3px solid rgb(155 88 113 / .18); outline-offset:2px; }
.app-body .toast { top: 22px; right: 22px; border-radius: 999px; background: #2f2c2e; }
.quick-create { display: none; }

@media (max-width: 900px) {
  .app-body .auth-layout { padding: 26px 18px 50px; background: var(--bg); grid-template-columns: 1fr; gap: 24px; }
  .app-body .auth-intro { padding: 16px 10px 0; }
  .app-body .auth-intro h1 { margin: 44px 0 16px; font-size: 48px; }
  .app-body .auth-form { padding: 28px 24px; border-radius: 28px; }
  .app-body .workspace { display: block; }
  .app-body .app-main { width: 100%; padding: calc(84px + constant(safe-area-inset-top)) 16px calc(118px + constant(safe-area-inset-bottom)); padding: calc(84px + env(safe-area-inset-top)) 16px calc(118px + env(safe-area-inset-bottom)); }
  .app-body .mobile-app-header { position: fixed; z-index: 20; top: 0; right: 0; left: 0; display: flex; height: calc(64px + constant(safe-area-inset-top)); height: calc(64px + env(safe-area-inset-top)); padding: constant(safe-area-inset-top) 20px 0; padding: env(safe-area-inset-top) 20px 0; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgb(255 255 255 / .96); }
  .mini-brand { color: var(--primary); text-decoration: none; }
  .mini-brand small { margin-right: 6px; color: #66646a; font-weight: 500; }
  .mini-brand strong { font-size: 19px; }
  .mobile-app-header > span { color: #66646a; font-size: 14px; }
  .app-body .app-panel { min-height: calc(100dvh - 220px); }
  .app-body .desktop-heading { display: none; }
  .account-overview { padding: 26px 22px; grid-template-columns: auto minmax(0, 1fr) auto; gap: 15px; }
  .account-avatar, .profile-avatar { width: 66px; height: 66px; border-radius: 23px; font-size: 26px; }
  .account-copy h2, .profile-card h1 { font-size: 23px; }
  .account-overview > .button, .profile-card > .button { min-height: 36px; padding-inline: 12px; }
  .account-primary { padding-top: 22px; }
  .account-primary:nth-of-type(3) { grid-column: 1 / 3; }
  .account-primary strong, .profile-stat strong { font-size: 19px; }
  .companion-summary { padding: 25px 22px; grid-template-columns: 92px 1fr; gap: 20px; }
  .companion-avatar { width: 92px; height: 92px; }
  .companion-avatar::before { display: none; }
  .companion-avatar span { max-width: 70px; font-size: 18px; }
  .active-agent-copy h2 { font-size: 25px; }
  .active-agent-copy > p:not(.eyebrow) { display: -webkit-box; overflow: hidden; font-size: 13px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .app-body .inline-actions { margin-top: 16px; gap: 8px; }
  .app-body .inline-actions .button { min-height: 40px; padding-inline: 15px; font-size: 13px; }
  .binding-panel { padding: 22px; }
  .safety-note { padding: 22px; }
  .app-body .panel-heading { min-height: auto; margin: 2px 2px 22px; align-items: center; flex-direction: row; }
  .app-body .panel-heading h1, .app-body .panel-heading h2 { font-size: 30px; }
  .app-body .panel-heading > .button { margin: 0; }
  .app-body .agent-row { padding: 24px 22px; }
  .app-body .editor-sheet { padding: 25px 20px; }
  .app-body .form-grid, .app-body .data-actions { grid-template-columns: 1fr; }
  .energy-hero { min-height: 260px; margin: -20px -16px 0; padding: 46px 24px 100px; }
  .energy-hero h1 { margin-bottom: 58px; font-size: 46px; }
  .energy-hero h2 { font-size: 27px; }
  .energy-balance { min-height: 112px; margin: -52px 6px 34px; padding: 26px 24px; }
  .energy-balance span { font-size: 18px; }
  .app-body .package { padding: 20px 21px; grid-template-columns: 1fr auto; gap: 10px 16px; }
  .app-body .package .button { grid-column: 1 / -1; }
  .invite-form { grid-template-columns:1fr; }.invite-form .button { width:100%; }.platform-selector { padding:10px 6px; }.platform-selector span { min-height:46px; font-size:13px; }.growth-submission-list article { grid-template-columns:1fr auto; }.growth-submission-list article > b { grid-column:1 / -1; }
  .growth-hero { min-height:280px; }
  .growth-hero h1 { margin-bottom:46px; font-size:38px; }
  .growth-hero h2 { font-size:24px; }
  .growth-hero p { font-size:14px; }
  .energy-balance span { font-size:16px; }
  .energy-balance strong { font-size:22px; }
  .growth-activity-card, .growth-detail-card { padding:24px 20px; border-radius:26px; }
  .growth-activity-card h2, .growth-detail-card h1, .growth-detail-card h2 { font-size:22px; }
  .growth-activity { min-height:94px; gap:13px; }
  .growth-activity strong { font-size:17px; }
  .activity-mark { width:52px; height:52px; border-radius:18px; }
  .growth-activity > b { min-width:68px; padding-inline:14px; }
  .reward-rules li { grid-template-columns:94px 1fr; }
  .reward-rules li b { font-size:17px; }
  .profile-card { padding: 26px 22px; gap: 15px; }
  .profile-stat:nth-of-type(3) { grid-column: 1 / 3; }
  .app-body .mobile-nav { position: fixed; z-index: 30; right: 84px; bottom: calc(14px + constant(safe-area-inset-bottom)); bottom: calc(14px + env(safe-area-inset-bottom)); left: 16px; display: grid; height: 72px; padding: 7px 8px; border: 0; border-radius: 999px; background: rgb(255 255 255 / .97); box-shadow: 0 16px 44px rgb(43 38 41 / .15); grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .app-body .mobile-nav button { position: relative; display:grid; min-width:0; min-height:56px; padding:5px 1px 7px; place-items:center; border-radius:0; background:transparent; color:#727076; text-align:center; font-size:11px; line-height:1; gap:3px; }
  .app-body .mobile-nav svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .app-body .mobile-nav button:nth-child(2) svg { fill:currentColor; stroke:none; }
  .app-body .mobile-nav button.active { background: transparent; color: var(--primary); }
  .app-body .mobile-nav button.active::after { position: absolute; right: 31%; bottom: 1px; left: 31%; height: 3px; border-radius: 3px; background: var(--primary); content: ""; }
  .quick-create { position: fixed; z-index: 31; right: 14px; bottom: calc(17px + constant(safe-area-inset-bottom)); bottom: calc(17px + env(safe-area-inset-bottom)); display: grid; width: 66px; height: 66px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: var(--accent); box-shadow: 0 14px 30px rgb(199 47 102 / .28); color: #fff; cursor: pointer; }
  .quick-create span, .quick-create span::after { width:28px; height:4px; border-radius:4px; background:#fff; content:""; }
  .quick-create span { position:relative; display:block; }
  .quick-create span::after { position:absolute; inset:0; transform:rotate(90deg); }
  .app-body[data-current-view="agents"] .quick-create { background: var(--primary); }
  .app-body .toast { top: 82px; right: 16px; left: 16px; max-width: none; text-align: center; }
  .app-body input, .app-body textarea, .app-body select { font-size:16px; }
  .profile-services { padding:22px; border-radius:26px; }
}

@media (max-width: 430px) {
  .app-body .auth-intro h1 { font-size: 39px; }
  .app-body .auth-intro p { font-size: 15px; }
  .account-copy p, .profile-card p { font-size: 12px; }
  .account-primary + .account-primary, .profile-stat + .profile-stat { padding-left: 16px; }
  .companion-summary { grid-template-columns: 78px 1fr; }
  .companion-avatar { width: 78px; height: 78px; }
  .active-agent-copy h2 { font-size: 22px; }
  .energy-balance strong { font-size: 23px; }
  .app-body .mobile-nav { right:78px; left:10px; }
  .quick-create { right:10px; width:62px; height:62px; }
}

/* Mini Program web-view surfaces: keep business UI in H5, strip duplicate app chrome. */
.app-body.is-embedded { min-height:100dvh; background:var(--bg); }
.app-body.is-embedded .app-sidebar,
.app-body.is-embedded .mobile-app-header,
.app-body.is-embedded .mobile-nav,
.app-body.is-embedded .quick-create { display:none !important; }
.app-body.is-embedded .workspace { display:block; min-height:100dvh; }
.app-body.is-embedded .app-main { width:100%; max-width:760px; min-height:100dvh; margin:0 auto; padding:20px 16px 44px; }
.app-body.is-embedded .app-panel { min-height:calc(100dvh - 64px); }
.app-body.is-embedded .panel-heading { margin-top:4px; }
.app-body.is-tab-embedded .app-main { padding-bottom:calc(112px + env(safe-area-inset-bottom)); }
.mini-only-entry { grid-template-columns:minmax(0,720px); place-content:center; }.mini-only-entry .auth-intro { min-height:auto; padding:48px; border:1px solid var(--line); border-radius:32px; background:var(--surface); box-shadow:var(--shadow); }.mini-only-entry .auth-intro h1 { margin:28px 0 14px; font-size:clamp(36px,7vw,68px); }.mini-only-entry .auth-intro p { max-width:620px; }.mini-entry-mark { display:inline-flex; margin-top:72px; padding:8px 13px; border-radius:999px; background:var(--accent-soft); color:var(--primary); font-weight:750; }.mini-only-entry .button { width:max-content; margin-top:24px; }
.plaza-catalog-panel, .roles-owned-panel { padding-bottom:32px; }
.plaza-growth-banner { display:block; width:100%; margin:0 0 8px; padding:0; overflow:hidden; border:0; border-radius:22px; background:#f7e9ef; box-shadow:0 12px 30px rgb(155 88 113 / .12); cursor:pointer; }
.plaza-growth-banner img { display:block; width:100%; aspect-ratio:3 / 1; object-fit:cover; object-position:center; }
.role-hub-head { position:sticky; z-index:12; top:0; display:flex; min-height:64px; padding:8px 2px; align-items:center; justify-content:space-between; background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:blur(14px); }
.role-hub-tabs { display:flex; align-self:stretch; gap:34px; }
.role-hub-tabs button { position:relative; padding:0 2px; border:0; background:transparent; color:#9a989d; font:700 18px/1 system-ui,sans-serif; cursor:pointer; }
.role-hub-tabs button.active { color:#262329; }
.role-hub-tabs button.active::after { position:absolute; right:18%; bottom:6px; left:18%; height:3px; border-radius:4px; background:var(--primary); content:""; }
.role-search, .role-create { min-height:42px; padding:0 17px; border:1px solid var(--line); border-radius:15px; background:#fff; color:#3f3b40; font:650 13px/1 system-ui,sans-serif; cursor:pointer; }
.role-create { border-color:#ead6dd; background:#f8edf1; color:var(--primary); }
.role-search-box { display:grid; margin:8px 0 12px; padding:14px 16px; align-items:center; border-radius:18px; background:#fff; grid-template-columns:auto 1fr; gap:12px; box-shadow:0 12px 30px rgb(44 38 41 / .07); }
.role-search-box span { color:var(--muted); font-size:13px; }
.role-search-box input { padding:0; border:0; outline:0; background:transparent; }
.catalog-categories { display:flex; margin:14px 0 16px; overflow-x:auto; gap:10px; scrollbar-width:none; }
.catalog-categories::-webkit-scrollbar { display:none; }
.catalog-categories button { flex:0 0 auto; min-height:40px; padding:0 19px; border:1px solid #eeecee; border-radius:999px; background:#fff; color:#77747a; font:13px/1 system-ui,sans-serif; cursor:pointer; }
.catalog-categories button.active { border-color:#ead5dd; background:#f8edf1; color:var(--primary); font-weight:700; }
.role-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.role-card { position:relative; min-width:0; overflow:hidden; aspect-ratio:.72; border-radius:26px; background:#d8d4d6; box-shadow:0 14px 34px rgb(38 31 35 / .12); }
.role-card > img { position:absolute; width:100%; height:100%; object-fit:cover; }
.role-card-shade { position:absolute; right:0; bottom:0; left:0; height:56%; background:linear-gradient(transparent,rgb(20 15 18 / .88)); pointer-events:none; }
.role-heat, .owned-role-state { position:absolute; z-index:2; top:14px; left:14px; padding:7px 11px; border:1px solid rgb(255 255 255 / .18); border-radius:999px; background:rgb(35 28 32 / .68); color:#f6d78c; font-size:11px; font-weight:700; backdrop-filter:blur(7px); }
.owned-role-state { color:#fff; }
.owned-role-card:has(.owned-role-state) { cursor:default; }
.role-card-copy { position:absolute; z-index:2; right:14px; bottom:15px; left:14px; display:grid; align-items:end; color:#fff; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.role-card-copy h2 { margin:0 0 5px; color:#fff; font-size:23px; line-height:1.05; }
.role-card-copy p { display:-webkit-box; overflow:hidden; margin:0; color:rgb(255 255 255 / .83); font-size:12px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.role-card-copy button { min-height:34px; padding:0 12px; border:0; border-radius:999px; background:#e94c83; color:#fff; font:700 11px/1 system-ui,sans-serif; cursor:pointer; white-space:nowrap; }
.catalog-empty { padding:64px 28px; border-radius:30px; background:#fff; text-align:center; box-shadow:var(--shadow); }
.catalog-empty strong { font-size:22px; }
.catalog-empty p { margin:10px auto 0; max-width:430px; color:var(--muted); line-height:1.7; }
.catalog-disclosure { margin:20px 8px 0; color:var(--muted); font-size:12px; line-height:1.65; }
.owned-role-intro { display:flex; margin:22px 0 20px; padding:28px 30px; align-items:flex-end; justify-content:space-between; border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.owned-role-intro small { color:var(--primary); font-weight:750; letter-spacing:.08em; }
.owned-role-intro h1 { margin:7px 0 8px; font-size:30px; }
.owned-role-intro p { margin:0; color:var(--muted); }
.owned-role-intro > span { color:#ead5dd; font-size:64px; font-weight:800; line-height:.8; }
.role-empty-card { min-height:220px; padding:30px; border:1px dashed #d7c4cc; border-radius:28px; background:#fff; color:var(--primary); text-align:left; cursor:pointer; }
.role-empty-card strong, .role-empty-card span { display:block; }
.role-empty-card strong { margin-bottom:9px; font-size:22px; }.role-empty-card span { color:var(--muted); }
.role-editor { max-width:920px; margin:22px auto 0; padding:0; border:0; background:transparent; box-shadow:none; }
.role-editor .sheet-heading { margin-bottom:18px; padding:24px 28px; border-radius:26px; background:#fff; box-shadow:var(--shadow); }
.role-editor .sheet-heading small { color:var(--primary); font-weight:700; }.role-editor .sheet-heading h2 { margin:4px 0 0; font-size:30px; }
.role-editor .creator-heading { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; }
.creator-heading p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.creator-mark { display:grid; width:58px; height:58px; place-items:center; border-radius:18px; background:linear-gradient(145deg,#be728e,#95526b); color:#fff; font-size:30px; font-weight:400; box-shadow:0 12px 26px rgb(155 88 113 / .2); }
.editor-card { margin:0 0 18px; padding:30px; border:0; border-radius:30px; background:#fff; box-shadow:var(--shadow); }
.editor-card-title { margin-bottom:24px; }.editor-card-title h3 { margin:0 0 8px; font-size:25px; }.editor-card-title p { margin:0; color:var(--muted); }
.guest-only { display:none !important; }
.guest-mode .guest-media-grid { display:grid !important; }
.guest-mode .guest-storage-note { display:block !important; }
.guest-media-grid { margin-bottom:18px; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:12px; }
.guest-media-upload { position:relative; min-height:190px; margin:0; overflow:hidden; border:1px dashed #d8cfd3; border-radius:24px; background:#fcf7f9; cursor:pointer; }
.guest-media-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.guest-media-upload img { position:absolute; width:100%; height:100%; object-fit:cover; }
.guest-media-upload span { position:absolute; right:12px; bottom:12px; left:12px; display:grid; min-height:48px; place-items:center; border-radius:16px; background:rgb(255 255 255 / .9); box-shadow:0 8px 24px rgb(47 40 44 / .12); color:#746d72; font-weight:650; backdrop-filter:blur(8px); }
.guest-media-upload span b { margin-right:5px; color:var(--primary); font-size:20px; font-weight:500; }
.cover-preset-wrap > span { display:block; margin-bottom:10px; color:var(--muted); font-size:12px; }
.cover-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.cover-choices button { position:relative; overflow:hidden; padding:0; aspect-ratio:1; border:2px solid transparent; border-radius:22px; background:#eee; cursor:pointer; }
.cover-choices button.active { border-color:var(--primary); box-shadow:0 0 0 4px #f5e7ec; }.cover-choices img { width:100%; height:100%; object-fit:cover; }
.rights-note { margin:12px 0 24px; color:#8d6171; font-size:12px; }
.segmented-field { display:grid; margin:20px 0 0; padding:0; border:0; grid-template-columns:repeat(4,1fr); gap:10px; }.segmented-field legend { margin-bottom:10px; font-weight:700; }.segmented-field label { position:relative; }.segmented-field input { position:absolute; opacity:0; }.segmented-field span { display:grid; min-height:48px; place-items:center; border:1px solid var(--line); border-radius:16px; color:var(--muted); cursor:pointer; }.segmented-field input:checked + span { border-color:#c692a5; background:#fbf1f5; color:var(--primary); font-weight:700; }
.switch-row { display:flex; min-height:84px; padding:18px 20px; align-items:center; justify-content:space-between; border:1px solid var(--line); border-radius:22px; background:#faf9fa; gap:20px; }.switch-row strong, .switch-row span { display:block; }.switch-row > div > span { margin-top:5px; color:var(--muted); font-size:13px; }.switch-row.emphasis { border-color:#ead5dd; background:#fdf7f9; }
.switch { position:relative; flex:0 0 auto; }.switch input { position:absolute; opacity:0; }.switch > span { position:relative; width:58px; height:34px; border-radius:999px; background:#c9c6c8; cursor:pointer; transition:background .18s ease; }.switch > span::after { position:absolute; top:4px; left:4px; width:26px; height:26px; border-radius:50%; background:#fff; box-shadow:0 3px 8px rgb(0 0 0 / .15); content:""; transition:transform .18s ease; }.switch input:checked + span { background:var(--primary); }.switch input:checked + span::after { transform:translateX(24px); }
.proactive-hour { margin-top:16px; }.advanced-settings.editor-card { border:0; }.advanced-settings.editor-card summary { cursor:pointer; font-size:18px; font-weight:750; }
.publish-options { display:grid; margin:0; padding:0; border:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.publish-options label { position:relative; margin:0; }
.publish-options input { position:absolute; opacity:0; pointer-events:none; }
.publish-options span { position:relative; display:grid; min-height:112px; padding:22px 54px 20px 22px; align-content:center; border:1px solid var(--line); border-radius:22px; background:#faf9fa; cursor:pointer; }
.publish-options strong, .publish-options small { display:block; }
.publish-options strong { color:var(--ink); font-size:20px; }
.publish-options small { margin-top:5px; color:var(--muted); font-weight:500; }
.publish-options i { position:absolute; top:50%; right:22px; width:27px; height:27px; border:2px solid #d8d5d7; border-radius:50%; transform:translateY(-50%); }
.publish-options input:checked + span { border-color:#9b5871; background:#fffafb; box-shadow:0 0 0 3px #f5e8ed; }
.publish-options input:checked + span i { border:7px solid var(--primary); }
.guest-storage-note { margin:18px 2px 0; color:#8d6171; font-size:12px; line-height:1.7; }
.role-save { position:sticky; z-index:8; bottom:20px; display:block; width:min(560px,90%); min-height:58px; margin:26px auto; box-shadow:0 18px 38px rgb(155 88 113 / .28); }
.role-save-hint { margin:-14px auto 28px; color:var(--muted); text-align:center; font-size:12px; }
.role-editor-open .owned-role-intro, .role-editor-open .roles-owned-panel > #agentList { display:none; }
@media (max-width:1000px) { .role-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) {
  .role-hub-head { top:74px; min-height:58px; padding:4px 2px; }.app-body.is-embedded .role-hub-head { top:0; }
  .role-hub-tabs { gap:26px; }.role-hub-tabs button { font-size:17px; }.role-hub-tabs button.active::after { bottom:4px; }
  .role-search, .role-create { min-height:38px; padding:0 13px; }.catalog-categories { margin:10px 0 14px; }
  .catalog-categories button { min-height:38px; padding:0 17px; }
  .role-card-grid { gap:12px; }.role-card { border-radius:21px; aspect-ratio:.7; }.role-heat, .owned-role-state { top:10px; left:10px; padding:6px 9px; font-size:10px; }
  .role-card-copy { right:10px; bottom:11px; left:10px; grid-template-columns:minmax(0,1fr); }.role-card-copy h2 { font-size:20px; }.role-card-copy p { font-size:11px; }.role-card-copy button { width:max-content; min-height:32px; }
  .owned-role-intro { margin:14px 0; padding:22px; border-radius:24px; }.owned-role-intro h1 { font-size:25px; }.owned-role-intro p { font-size:13px; }.owned-role-intro > span { font-size:48px; }
  .role-editor .sheet-heading { padding:20px; border-radius:24px; }.role-editor .sheet-heading h2 { font-size:26px; }.role-editor .creator-heading { grid-template-columns:auto minmax(0,1fr); }.creator-heading .icon-button { grid-column:2; justify-self:start; }
  .editor-card { padding:24px 20px; border-radius:26px; }.editor-card-title h3 { font-size:23px; }.cover-choices { grid-template-columns:repeat(4,1fr); gap:8px; }.cover-choices button { border-radius:16px; }
  .guest-media-grid { grid-template-columns:1fr 1.35fr; }.guest-media-upload { min-height:170px; border-radius:20px; }.publish-options { grid-template-columns:1fr; }.publish-options span { min-height:96px; }
  .segmented-field { gap:7px; }.segmented-field span { min-height:45px; border-radius:14px; font-size:13px; }.switch-row { padding:16px; }
  .app-body.is-embedded .app-main { padding:0 8px 36px; }
}

/* PersonaSpec v1：沿用角色编辑器的纸张卡片，只在折叠区增加更高密度的结构化控件。 */
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.persona-settings { padding:0; overflow:hidden; }
.persona-settings > summary { display:grid; min-height:88px; padding:24px 30px; align-content:center; cursor:pointer; list-style:none; }
.persona-settings > summary::-webkit-details-marker { display:none; }
.persona-settings > summary::after { grid-row:1 / span 2; grid-column:2; align-self:center; justify-self:end; color:var(--primary); content:"＋"; font-size:24px; }
.persona-settings[open] > summary::after { content:"−"; }
.persona-settings > summary span { font-size:21px; font-weight:750; }
.persona-settings > summary small { color:var(--muted); }
.persona-body { padding:0 30px 30px; border-top:1px solid var(--line); }
.persona-section { padding:24px 0; border-bottom:1px solid var(--line); }
.persona-section h4 { margin:0 0 14px; font-size:18px; }
.persona-section > label, .persona-tools > label { display:block; margin-top:16px; }
.trait-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; }
.trait-grid label { margin:0; padding:14px 16px; border:1px solid var(--line); border-radius:18px; background:#faf9fa; }
.trait-grid label > span { display:flex; margin-bottom:8px; justify-content:space-between; color:var(--ink); font-weight:650; }
.trait-grid output { color:#9b5871; font-variant-numeric:tabular-nums; }
.trait-grid input[type="range"] { width:100%; margin:0; padding:0; accent-color:#9b5871; }
.persona-tools { padding-top:24px; }
.persona-tools .inline-actions { margin:14px 0; }
.persona-preview { max-height:440px; margin:16px 0 0; padding:18px; overflow:auto; border:1px solid var(--line); border-radius:18px; background:#f5f4f2; color:#2b3431; white-space:pre-wrap; word-break:break-word; font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; }
.persona-test-result { margin-top:16px; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--surface); white-space:pre-wrap; }
.persona-version-compare { margin-top:16px; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.persona-version-compare summary { cursor:pointer; font-weight:700; }
.persona-version-compare pre { margin:12px 0 0; color:var(--muted); white-space:pre-wrap; font:13px/1.7 var(--font); }
.memory-manager > h3 { margin:0 0 8px; }
.memory-item { padding:18px 0; border-bottom:1px solid var(--line); }
.memory-item:last-child { border-bottom:0; }
.memory-item-head { display:flex; margin-bottom:10px; align-items:center; justify-content:space-between; gap:12px; }
.memory-item-head > span { color:var(--primary); font-weight:750; }
.memory-item.candidate .memory-item-head > span { color:#9b5871; }
.memory-item-head small, .memory-item > p { color:var(--muted); font-size:12px; }
.memory-item > p { margin:8px 0 0; }
.memory-item blockquote { margin:9px 0 0; padding:9px 12px; border-left:2px solid #d5b8c3; background:#faf7f8; color:var(--muted); font-size:12px; }
.memory-item label { margin:0; }
.memory-actions { display:flex; margin-top:10px; align-items:center; justify-content:flex-end; gap:10px; }

@media (max-width:720px) {
  .persona-settings > summary { padding:21px 20px; }
  .persona-body { padding:0 20px 24px; }
  .trait-grid { grid-template-columns:1fr; gap:10px; }
  .persona-tools .inline-actions, .memory-actions { align-items:stretch; flex-direction:column; }
  .persona-tools .inline-actions .button, .memory-actions .button, .memory-actions .text-button { width:100%; min-height:44px; }
  .persona-settings input, .persona-settings textarea, .persona-settings select, .memory-manager input { font-size:16px; }
  .memory-item-head { align-items:flex-start; flex-direction:column; gap:2px; }
}
