/* Legacy home layout contract: max-width:800px. */
.prototype-actions,.prototype-status-grid{display:grid;gap:12px;margin:22px 0}.prototype-actions{grid-template-columns:repeat(3,1fr)}.prototype-actions article,.prototype-status-grid article{padding:17px;border:1px solid #dce5f2;border-radius:12px;background:#fbfdff}.prototype-actions span,.prototype-status-grid span,.prototype-status-grid small{display:block;color:#71839b;font-size:.8rem}.prototype-actions h2{margin:7px 0;color:#17365e;font-size:1.05rem}.prototype-actions p{margin:0 0 14px;color:#62748b;line-height:1.55;font-size:.9rem}.prototype-status-grid{grid-template-columns:repeat(3,1fr)}.prototype-status-grid b{display:block;margin:6px 0;color:#173f73;font-size:.98rem}.prototype-story{display:grid;grid-template-columns:1fr minmax(280px,.8fr);gap:16px;padding:18px;border:1px solid #dce5f2;border-radius:12px;background:#f8fbff}.prototype-story .inspection-note{height:max-content;overflow-wrap:normal;word-break:normal}.prototype-story .inspection-note strong{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:normal}@media(max-width:820px){.prototype-actions,.prototype-status-grid,.prototype-story{grid-template-columns:1fr}}
.guided-grid,.guided-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.guided-grid article,.guided-columns article,.guided-section{padding:20px;border:1px solid #dce5f2;border-radius:12px;background:#fbfdff}.guided-grid span{color:#147d64;font-size:.78rem;font-weight:750}.guided-grid h2,.guided-columns h2,.guided-section h2{margin:8px 0;color:#17365e;font-size:1.1rem}.guided-grid p,.guided-columns li,.guided-section{color:#53677e;line-height:1.65}.guided-columns{grid-template-columns:repeat(2,1fr)}.guided-columns ul{margin:0;padding-left:20px}.guided-steps{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.guided-steps li{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:11px 0;border-top:1px solid #e3ebf4}.guided-steps b{color:#173f73}@media(max-width:820px){.guided-grid,.guided-columns{grid-template-columns:1fr}.guided-steps li{grid-template-columns:1fr;gap:3px}}

/* ZP-UI-3A.1 · light-theme visual parity with the approved static prototype.
   Presentation only: route contracts, element ids, forms and API wiring remain unchanged. */
:root {
  --ink-900:#0e1a2b; --ink-700:#1f2a44; --ink-500:#3d4a66; --ink-300:#9aa5ba;
  --ink-100:#e2e6ef; --ink-50:#eef1f7; --paper:#f7f8fb; --card:#fff;
  --brand:#1b3a6b; --brand-700:#142e55; --brand-50:#eaf0f8;
  --amber-700:#8c5a12; --amber-500:#b7791f; --amber-100:#fff4dc; --amber-50:#fff9eb;
  --green-700:#155a38; --green-100:#e1f3ea; --red-700:#7e1b20; --red-100:#fbe6e7;
  --bluegrey-700:#3f4a60; --bluegrey-100:#e7eaf1;
  --line:var(--ink-100); --accent:#1b3a6b; --amber-paper:var(--amber-50); --blue-paper:var(--brand-50);
  --radius-card:8px; --maxw:1180px;
  font-family:"Inter","Source Han Sans SC","PingFang SC","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink-900); background:var(--paper);
}
* { box-sizing:border-box; }
body { margin:0; min-width:0; background:var(--paper); color:var(--ink-900); font-size:14px; line-height:1.5; font-variant-numeric:tabular-nums; }
a { color:var(--brand); }
code,pre,.trace-record dt { font-family:"JetBrains Mono","SFMono-Regular","Source Code Pro",Consolas,monospace; }
.demo-shell,.home-shell,.record-shell { width:min(var(--maxw),calc(100% - 32px)); margin:24px auto; padding:24px; background:var(--card); border:1px solid var(--ink-100); border-radius:var(--radius-card); box-shadow:none; overflow-wrap:anywhere; }
.home-shell { padding:0; overflow:hidden; }
.topbar,.app-bar { min-height:56px; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 24px; margin:0; border-bottom:1px solid var(--ink-100); color:var(--ink-500); font-size:13px; }
.app-bar { padding:0 0 16px; min-height:40px; margin-bottom:18px; }
.home-shell .app-bar { padding:0 32px; min-height:56px; margin:0; }
.wordmark { color:var(--ink-900); font-size:14px; font-weight:600; text-decoration:none; }
.wordmark b { color:var(--brand); }
.environment-pill { display:inline-flex; align-items:center; border:1px solid var(--amber-500); background:var(--amber-100); color:var(--amber-700); border-radius:999px; padding:6px 10px; font-size:12px; font-weight:600; letter-spacing:.02em; white-space:nowrap; }
.badge,.eyebrow { color:var(--ink-500); font-weight:600; letter-spacing:.08em; font-size:11px; text-transform:uppercase; }
.lead { font-size:15px; line-height:1.65; color:var(--ink-500); }
.back-link { display:inline-block; margin-bottom:20px; }
.context-header { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 16px; color:var(--ink-500); font-size:12px; }
.context-header .back-link { margin:0; font-weight:600; }
.context-header code { padding:3px 7px; border-radius:5px; background:var(--brand-50); color:var(--ink-700); }
.boundary-banner { display:flex; gap:12px; align-items:center; padding:8px 24px; background:var(--amber-100); border:0; border-bottom:1px solid var(--amber-500); border-radius:0; color:var(--amber-700); font-size:12px; line-height:1.45; }
.boundary-banner strong { white-space:nowrap; }
.boundary-banner.compact { margin:18px 0; border:1px solid var(--amber-500); }
.step-strip { margin:18px 0; padding:12px 16px; border:1px solid var(--ink-100); border-radius:var(--radius-card); background:var(--card); }
.home-shell>.step-strip { margin:0 32px 20px; }
.step-strip ol { list-style:none; display:flex; align-items:stretch; gap:12px; margin:0; padding:0; }
.step-strip li { position:relative; display:flex; flex:1 1 0; align-items:center; gap:8px; min-width:0; padding:8px 10px; border:1px solid var(--ink-100); border-radius:var(--radius-card); background:var(--card); }
.step-strip li:not(:last-child)::after { content:"›"; position:absolute; right:-10px; color:var(--ink-300); font-size:18px; font-weight:700; z-index:1; }
.step-strip b,.step-strip small { display:block; }
.step-strip b { color:var(--ink-900); font-size:13px; }
.step-strip small,.step-strip p { color:var(--ink-500); font-size:12px; line-height:1.35; }
.step-strip p { margin:8px 0 0; }
.step-index { flex:0 0 auto; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--brand); color:#fff; font-size:12px; font-weight:700; }
.state-chip { display:inline-flex; align-items:center; width:max-content; border:1px solid transparent; border-radius:6px; padding:2px 8px; font-size:11px; font-weight:600; line-height:1.5; white-space:nowrap; }
.state-neutral { background:var(--bluegrey-100); color:var(--bluegrey-700); border-color:var(--bluegrey-100); }
.state-recorded,.state-allow { background:var(--green-100); color:var(--green-700); border-color:var(--green-100); }
.state-deny { background:var(--red-100); color:var(--red-700); border-color:var(--red-100); }
.hero-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:32px; padding:48px; }
.hero-grid h1 { margin:8px 0 18px; font-size:clamp(2rem,4vw,3.35rem); line-height:1.16; letter-spacing:-.04em; color:var(--ink-900); }
.hero-copy { font-size:16px; line-height:1.75; color:var(--ink-500); }
.hero-panel { padding:20px; border-radius:var(--radius-card); background:var(--brand-700); color:#e7effa; }
.hero-panel dl { margin:18px 0 0; display:grid; grid-template-columns:auto 1fr; gap:10px; font-size:13px; }
.hero-panel dt { color:#b9c9dc; }.hero-panel dd { margin:0; text-align:right; }.panel-label { color:#dbe9ff; font-size:12px; font-weight:600; }
.layer-section,.capability-section { padding:32px 48px; border-top:1px solid var(--ink-100); }.capability-section { background:var(--paper); }
.layer-grid,.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.layer-grid article,.capability-grid article,.prototype-actions article,.prototype-status-grid article,.object-rail article,.metrics-grid article,.inspection-card,.step-card,.trace-aside { border:1px solid var(--ink-100); border-radius:var(--radius-card); background:var(--card); }
.layer-grid article,.capability-grid article { padding:20px; }.layer-grid h2,.capability-grid h3 { margin:8px 0; font-size:16px; color:var(--ink-900); }.layer-grid p,.capability-grid p { margin:0; color:var(--ink-500); line-height:1.6; font-size:13px; }
.home-cta { display:flex; justify-content:space-between; gap:22px; align-items:center; padding:32px 48px; background:var(--brand-50); }.home-cta h2 { margin:0 0 8px; color:var(--ink-900); }.home-cta p { max-width:650px; margin:0; color:var(--ink-500); line-height:1.6; }.home-shell footer { padding:12px 48px; color:var(--ink-500); font-size:11px; }
.prototype-actions,.prototype-status-grid { gap:16px; margin:20px 0; }.prototype-actions { grid-template-columns:repeat(3,1fr); }.prototype-status-grid { grid-template-columns:repeat(3,1fr); }.prototype-actions article,.prototype-status-grid article { padding:20px; }.prototype-actions span,.prototype-status-grid span,.prototype-status-grid small { color:var(--ink-500); font-size:12px; }.prototype-actions h2 { margin:7px 0; color:var(--ink-900); font-size:16px; }.prototype-actions p { margin:0 0 14px; color:var(--ink-500); line-height:1.55; font-size:13px; }.prototype-status-grid b { display:block; margin:6px 0; color:var(--ink-900); font-size:14px; }
.prototype-story { display:grid; grid-template-columns:1fr minmax(280px,.8fr); gap:16px; padding:20px; border:1px solid var(--ink-100); border-radius:var(--radius-card); background:var(--card); }
.live-pilot-card { margin:20px 0; padding:20px; border:1px solid var(--brand); border-radius:var(--radius-card); background:var(--card); }.live-pilot-card>header { display:flex; justify-content:space-between; gap:16px; }.live-pilot-card h2 { margin:4px 0; color:var(--ink-900); font-size:18px; }.boundary-chips,.live-pilot-actions { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }.boundary-chips span { padding:3px 7px; border-radius:999px; background:var(--amber-50); border:1px solid var(--amber-500); color:var(--amber-700); font-size:11px; font-weight:600; }.live-pilot-actions button:disabled { opacity:.55; cursor:not-allowed; }
.pilot-simple-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }.pilot-simple-form label { display:grid; gap:5px; color:var(--ink-700); font-size:12px; font-weight:600; }.pilot-simple-form input,.pilot-simple-form select { min-width:0; width:100%; border:1px solid var(--ink-100); border-radius:6px; padding:9px; background:var(--card); color:var(--ink-900); font:inherit; }.pilot-form-wide,.pilot-consent { grid-column:1 / -1; }.pilot-consent { display:flex!important; align-items:flex-start; gap:8px!important; font-weight:500!important; }.pilot-consent input { width:auto; margin-top:3px; } @media(max-width:640px){.pilot-simple-form{grid-template-columns:1fr}.live-pilot-actions{display:grid;grid-template-columns:1fr}.live-pilot-actions button{width:100%}}
.mobile-pilot-shell{width:min(100%,560px);margin:0 auto;padding:16px;background:var(--paper);min-height:100vh}.mobile-pilot-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0}.mobile-status-chip{display:inline-block;width:auto;padding:3px 8px;border-radius:999px;background:var(--bluegrey-100);color:var(--bluegrey-700);font-size:11px;font-weight:700}.mobile-boundary{margin:8px 0 16px;padding:8px;border-radius:6px;background:var(--amber-50);color:var(--amber-700);font-size:11px}.mobile-pilot-card{margin:12px 0;padding:16px;border:1px solid var(--ink-100);border-radius:8px;background:var(--card)}.mobile-pilot-card h1,.mobile-pilot-card h2{margin:0 0 8px;color:var(--ink-900)}.mobile-pilot-card h1{font-size:22px}.mobile-pilot-card h2{font-size:16px}.mobile-pilot-card p{margin:0 0 12px;color:var(--ink-500);font-size:13px}#mobile-pilot-form{display:grid;grid-template-columns:1fr;gap:11px}#mobile-pilot-form label{display:grid;gap:5px;color:var(--ink-700);font-size:12px;font-weight:650}#mobile-pilot-form input,#mobile-pilot-form select{width:100%;padding:10px;border:1px solid var(--ink-100);border-radius:6px;background:var(--card);color:var(--ink-900);font:inherit}.mobile-consent{display:flex!important;align-items:flex-start;gap:8px!important;font-weight:500!important}.mobile-consent input{width:auto!important;margin-top:3px}.mobile-pilot-card button{width:100%;margin:5px 0}.mobile-pilot-card button:disabled{opacity:.5;cursor:not-allowed}.mobile-summary{padding:10px;border-radius:6px;background:var(--ink-50);color:var(--ink-700);font-size:13px;line-height:1.65;overflow-wrap:anywhere}.mobile-gates{margin:10px 0 0;padding-left:18px;color:var(--ink-500);font-size:12px;line-height:1.65}.mobile-debug{margin:12px 0;padding:10px;border:1px solid var(--ink-100);border-radius:8px;background:var(--card);color:var(--ink-500);font-size:12px}.mobile-debug pre{max-height:240px;overflow:auto;background:var(--ink-900);color:#e5e9f0;padding:10px;font:11px/1.5 monospace;white-space:pre-wrap;word-break:break-word}
.teahouse-form{display:grid;grid-template-columns:1fr;gap:11px;margin:14px 0}.teahouse-field{display:grid;gap:5px;color:var(--ink-700);font-size:12px;font-weight:650}.teahouse-field input,.teahouse-field select{display:block;width:100%;min-width:0;padding:10px;border:1px solid var(--ink-100);border-radius:6px;background:var(--card);color:var(--ink-900);font:inherit}.teahouse-actions{margin-top:12px}.teahouse-actions button{width:100%}
.teahouse-field[hidden]{display:none!important}.mobile-boundary{line-height:1.55}.mobile-boundary p{margin:0}.mobile-boundary p+p{margin-top:6px}
.demo-actions { margin:20px 0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.button,button { display:inline-block; background:var(--brand); color:#fff; border:0; border-radius:8px; padding:10px 16px; text-decoration:none; font-size:14px; cursor:pointer; margin:0; font-weight:600; }.secondary-button { background:#5a6b85!important; }.text-link { font-weight:600; text-decoration:none; padding:10px; }.status-chip { padding:4px 8px; border-radius:6px; background:var(--bluegrey-100); color:var(--bluegrey-700); font-size:11px; font-weight:600; white-space:nowrap; }
.page-header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }.page-header h1 { margin:4px 0 6px; color:var(--ink-900); font-size:28px; line-height:1.2; }.mode-switch { display:flex; gap:8px; margin:20px 0 0; }.mode-button { background:var(--bluegrey-100); color:var(--bluegrey-700); }.mode-button.active { background:var(--brand); color:#fff; }.mode-copy,.inspection-note { margin:0 0 16px; padding:8px 12px; background:var(--amber-50); border-left:2px solid var(--amber-500); border-radius:0 6px 6px 0; color:var(--amber-700); line-height:1.5; font-size:12px; }.hidden { display:none; }.helper-text { color:var(--ink-500); font-size:13px; line-height:1.6; }.status-message { padding:12px 14px; background:var(--brand-50); border-radius:var(--radius-card); color:var(--ink-700); }.error-message { background:var(--red-100); color:var(--red-700); }
.object-rail { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin:24px 0; }.object-rail article { padding:16px; }.object-rail span,.object-rail small { display:block; color:var(--ink-500); font-size:12px; }.object-rail b { display:block; margin:5px 0; color:var(--ink-900); font-size:13px; }.story-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px; }.step-card { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; padding:20px; margin:12px 0; }.step-card h2 { font-size:16px; margin:0 0 8px; color:var(--ink-900); }.step-card p { margin:7px 0; line-height:1.6; }.tech-subtitle { font-size:12px; font-weight:500; color:var(--ink-500); }.step-number { width:30px; height:30px; margin:0!important; border-radius:50%; background:var(--brand); color:white; text-align:center; line-height:30px; font-weight:700; }.trace-aside { padding:20px; background:var(--ink-50); height:max-content; }.trace-list { margin:12px 0; padding-left:20px; color:var(--ink-500); font-size:13px; line-height:1.85; }.trace-list li::marker { color:var(--brand); }
.developer-json { margin-top:20px; border:1px solid var(--ink-100); border-radius:var(--radius-card); padding:0; background:var(--ink-50); overflow:hidden; }.developer-json summary { cursor:pointer; padding:8px 12px; font-size:12px; font-weight:600; color:var(--ink-700); }.developer-json summary::before { content:"▶"; display:inline-block; margin-right:8px; color:var(--ink-500); font-size:9px; }.developer-json[open] summary::before { transform:rotate(90deg); }.developer-json>p { padding:0 12px; }.developer-json pre { margin:0; white-space:pre; background:var(--ink-900); color:#e5e9f0; padding:12px; border-radius:0; line-height:1.5; overflow:auto; font:12px/1.5 "JetBrains Mono","SFMono-Regular",Consolas,monospace; }
.inspection-actions { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--ink-500); font-size:13px; }.metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:20px 0; }.metrics-grid article { padding:16px; background:var(--card); }.metrics-grid span,.metrics-grid small { display:block; color:var(--ink-500); font-size:12px; }.metrics-grid b { display:block; margin:5px 0; font-size:24px; color:var(--ink-900); }.inspection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }.inspection-card { padding:20px; min-width:0; }.inspection-card h2 { margin:0 0 8px; font-size:16px; color:var(--ink-900); }.inspection-card>p { color:var(--ink-500); font-size:13px; line-height:1.55; }.record-summary { padding:10px 12px; border-radius:6px; background:var(--ink-50); color:var(--ink-700); font-size:12px; line-height:1.6; }.record-summary div { padding:4px 0; border-bottom:1px solid var(--ink-100); }.record-summary div:last-child { border:0; }.record-summary span { display:block; }.inspection-empty { padding:12px; border-radius:0 6px 6px 0; border-left:2px solid var(--amber-500); background:var(--amber-50); color:var(--amber-700); line-height:1.55; }.inspection-empty[hidden] { display:none; }
.trace-record { margin:16px 0; border:1.5px solid var(--brand); border-radius:var(--radius-card); background:var(--card); padding:20px; }.trace-record header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }.trace-record h2 { margin:4px 0; color:var(--ink-900); font-size:16px; }.trace-record dl { display:flex; flex-direction:column; gap:0; margin:16px 0 0; border:1px solid var(--ink-100); border-radius:var(--radius-card); overflow:hidden; }.trace-record dl>div { display:grid; grid-template-columns:180px minmax(0,1fr) minmax(220px,1fr); gap:16px; align-items:start; padding:12px 16px; border:0; border-bottom:1px solid var(--ink-100); border-radius:0; background:var(--card); }.trace-record dl>div:last-child { border-bottom:0; }.trace-record dt { color:var(--ink-700); font-size:12px; font-weight:600; }.trace-record dd { margin:0; color:var(--ink-900); font-size:13px; overflow-wrap:anywhere; }.trace-record small { display:block; border-left:2px solid var(--amber-500); padding:8px 12px; color:var(--amber-700); background:var(--amber-50); border-radius:0 4px 4px 0; font-size:12px; line-height:1.45; }
.footer-safety-line { width:min(var(--maxw),calc(100% - 32px)); margin:-12px auto 24px; padding:8px 24px; border-top:1px solid var(--ink-100); color:var(--ink-500); background:var(--ink-50); font-size:11px; line-height:1.45; text-align:center; }
@media(max-width:900px){.step-strip ol{display:grid;grid-template-columns:1fr}.step-strip li:not(:last-child)::after{display:none}.trace-record dl>div{grid-template-columns:1fr;gap:4px}.hero-grid,.story-layout,.inspection-grid{grid-template-columns:1fr}.layer-grid,.capability-grid{grid-template-columns:repeat(2,1fr)}.object-rail{grid-template-columns:repeat(3,1fr)}.prototype-actions,.prototype-status-grid{grid-template-columns:1fr}}
@media(max-width:640px){.demo-shell,.home-shell,.record-shell{width:100%;margin:0;border-radius:0;padding:20px}.home-shell{padding:0}.topbar,.hero-grid,.layer-section,.capability-section,.home-cta,.home-shell footer{padding-left:20px;padding-right:20px}.topbar,.home-cta,.page-header,.boundary-banner,.app-bar,.context-header{flex-direction:column;align-items:flex-start}.layer-grid,.capability-grid,.metrics-grid{grid-template-columns:1fr}.object-rail{grid-template-columns:repeat(2,1fr)}.step-card{grid-template-columns:32px minmax(0,1fr);padding:14px}.footer-safety-line{width:100%;margin:0;padding:12px 20px}.environment-pill{white-space:normal}}

/* ZP-UI-3B · token-only dark inspection-console theme. */
.shell-tools { display:inline-flex; align-items:center; justify-content:flex-end; gap:8px; }
button.theme-toggle { padding:5px 9px; border:1px solid var(--ink-100); border-radius:6px; background:var(--card); color:var(--ink-700); font-size:11px; font-weight:600; line-height:1.35; }
button.theme-toggle:hover { background:var(--ink-50); }
button.theme-toggle:focus-visible,a:focus-visible,button:focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
:root { --focus-ring:#316bc0; }
[data-theme="dark"] { --ink-900:#edf3fb; --ink-700:#d6e1f0; --ink-500:#a8b8cb; --ink-300:#71839b; --ink-100:#2c3a4e; --ink-50:#1b2736; --paper:#0e1622; --card:#162231; --brand:#8fb5e8; --brand-700:#213d63; --brand-50:#1d3048; --amber-700:#f2c777; --amber-500:#d99a34; --amber-100:#3a2c16; --amber-50:#2d2417; --green-700:#9ad9b4; --green-100:#183b2b; --red-700:#f2afb2; --red-100:#47262b; --bluegrey-700:#c2cfdf; --bluegrey-100:#293749; --focus-ring:#9bc4ff; }
[data-theme="dark"] body { background:var(--paper); }
[data-theme="dark"] .demo-shell,[data-theme="dark"] .home-shell,[data-theme="dark"] .record-shell { background:var(--card); border-color:var(--ink-100); }
[data-theme="dark"] .topbar,[data-theme="dark"] .app-bar,[data-theme="dark"] .step-strip,[data-theme="dark"] .step-strip li,[data-theme="dark"] .prototype-story,[data-theme="dark"] .layer-grid article,[data-theme="dark"] .capability-grid article,[data-theme="dark"] .prototype-actions article,[data-theme="dark"] .prototype-status-grid article,[data-theme="dark"] .object-rail article,[data-theme="dark"] .metrics-grid article,[data-theme="dark"] .inspection-card,[data-theme="dark"] .step-card,[data-theme="dark"] .trace-record,[data-theme="dark"] .trace-record dl>div { background:var(--card); border-color:var(--ink-100); }
[data-theme="dark"] .guided-grid article,[data-theme="dark"] .guided-columns article,[data-theme="dark"] .guided-section { background:var(--card); border-color:var(--ink-100); }
[data-theme="dark"] .guided-grid h2,[data-theme="dark"] .guided-columns h2,[data-theme="dark"] .guided-section h2 { color:var(--ink-900); }
[data-theme="dark"] .guided-grid p,[data-theme="dark"] .guided-columns li,[data-theme="dark"] .guided-section { color:var(--ink-500); }
[data-theme="dark"] .guided-steps b { color:var(--ink-900); }
[data-theme="dark"] .guided-steps li { border-color:var(--ink-100); }
[data-theme="dark"] .guided-grid span { color:var(--green-700); }
[data-theme="dark"] .guided-steps span { color:var(--ink-700); }
[data-theme="dark"] .capability-section,[data-theme="dark"] .trace-aside,[data-theme="dark"] .record-summary,[data-theme="dark"] .developer-json,[data-theme="dark"] .footer-safety-line { background:var(--ink-50); }
[data-theme="dark"] .home-cta,[data-theme="dark"] .status-message { background:var(--brand-50); }
[data-theme="dark"] .hero-panel { background:var(--brand-700); }
[data-theme="dark"] .boundary-banner { background:var(--amber-100); color:var(--amber-700); border-color:var(--amber-500); }
[data-theme="dark"] .mode-copy,[data-theme="dark"] .inspection-note,[data-theme="dark"] .inspection-empty,[data-theme="dark"] .trace-record small { background:var(--amber-50); color:var(--amber-700); border-color:var(--amber-500); }
[data-theme="dark"] .developer-json pre { background:#09121f; color:#e5edf8; }
[data-theme="dark"] button.theme-toggle { background:var(--ink-50); color:var(--ink-900); border-color:var(--ink-100); }
[data-theme="dark"] button.theme-toggle:hover { background:var(--bluegrey-100); }
@media(max-width:640px){.shell-tools{width:100%;justify-content:space-between}}

/* === ZTF TeaHouse Lovart UI · 2026-09-06 === */
body.teahouse-lovart-body {
  color-scheme: only light;
  background: #f7f2e8 !important;
  color: #3f2b20 !important;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

/* v2.10.3 · investor QR landing, kept independent from the reservation forms. */
.teahouse-lovart-page.teahouse-investor-page { max-width:620px; margin:0 auto; }
.teahouse-lovart-page .tea-investor-hero { position:relative; margin:8px 0 18px; padding:30px 22px 24px; overflow:hidden; border:1px solid rgba(185,133,53,.32); border-radius:28px; background:linear-gradient(145deg, rgba(35,77,62,.96), rgba(24,57,47,.98)); box-shadow:0 14px 30px rgba(43,55,39,.18); color:#fffdf7; }
.teahouse-lovart-page .tea-investor-hero::after { position:absolute; right:-52px; top:-52px; width:180px; height:180px; border:1px solid rgba(234,216,180,.34); border-radius:50%; content:""; }
.teahouse-lovart-page .tea-investor-hero > * { position:relative; z-index:1; }
.teahouse-lovart-page .tea-investor-hero .tea-eyebrow { color:#ead8b4; }
.teahouse-lovart-page .tea-investor-hero h1 { margin:10px 0 12px; color:#fffdf7; font-size:clamp(26px,7vw,35px); line-height:1.25; letter-spacing:.03em; }
.teahouse-lovart-page .tea-investor-hero > p { color:rgba(255,253,247,.84); line-height:1.75; }
.teahouse-lovart-page .tea-investor-primary,.teahouse-lovart-page .tea-investor-secondary { display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; margin:20px 0 8px; border-radius:999px; text-decoration:none; font-family:inherit; font-size:17px; font-weight:700; letter-spacing:.05em; }
.teahouse-lovart-page .tea-investor-primary { background:#e9d3a4; color:#18392f; box-shadow:0 8px 18px rgba(0,0,0,.16); }
.teahouse-lovart-page .tea-investor-caption { margin:0; text-align:center; font-size:12px; }
.teahouse-lovart-page .tea-investor-card { margin:14px 0; padding:20px; border:1px solid var(--tea-line); border-radius:22px; background:var(--tea-card); box-shadow:var(--tea-shadow); }
.teahouse-lovart-page .tea-investor-card h2 { margin:6px 0 10px; color:var(--tea-ink); font-size:20px; letter-spacing:.035em; }
.teahouse-lovart-page .tea-investor-card p,.teahouse-lovart-page .tea-investor-card li { color:var(--tea-muted); line-height:1.75; }
.teahouse-lovart-page .tea-investor-card ul { margin:0; padding-left:20px; }
.teahouse-lovart-page .tea-investor-card li+li { margin-top:7px; }
.teahouse-lovart-page .tea-investor-boundary { border-color:rgba(185,133,53,.36); background:linear-gradient(135deg,rgba(255,251,241,.98),rgba(245,236,218,.84)); }
.teahouse-lovart-page .tea-investor-card blockquote { margin:14px 0 10px; padding:14px 15px; border-left:3px solid var(--tea-gold); border-radius:0 14px 14px 0; background:rgba(248,239,221,.74); color:var(--tea-ink); font-size:16px; line-height:1.8; }
.teahouse-lovart-page .tea-investor-copy-tip { margin:0; font-size:12px; }
.teahouse-lovart-page .tea-investor-secondary { margin:16px 0 0; border:1px solid rgba(35,77,62,.7); background:transparent; color:var(--tea-green); }
.teahouse-lovart-page .tea-investor-skill { background:rgba(255,253,248,.68); }
.teahouse-lovart-page .tea-investor-skill::before { display:inline-block; margin-bottom:7px; color:var(--tea-gold); content:"✦"; }
.teahouse-lovart-page .tea-investor-primary:hover,.teahouse-lovart-page .tea-investor-primary:focus-visible { background:#f1dfb6; }
.teahouse-lovart-page .tea-investor-secondary:hover,.teahouse-lovart-page .tea-investor-secondary:focus-visible { background:rgba(35,77,62,.08); }

body.teahouse-lovart-body .teahouse-lovart-page {
  background: #f7f2e8 !important;
  color: #3f2b20 !important;
}

[data-theme="dark"] body.teahouse-lovart-body,
[data-theme="dark"] body.teahouse-lovart-body .teahouse-lovart-page {
  background: #f7f2e8 !important;
  color: #3f2b20 !important;
}

.teahouse-lovart-page {
  --tea-paper: #f7f2e8;
  --tea-card: rgba(255, 253, 248, .94);
  --tea-ink: #3f2b20;
  --tea-muted: #7c695b;
  --tea-green: #234d3e;
  --tea-green-deep: #18392f;
  --tea-gold: #b98535;
  --tea-gold-soft: #ead8b4;
  --tea-line: #e8dcc8;
  --tea-shadow: 0 10px 28px rgba(72, 45, 24, .09);
  --tea-radius: 22px;
  width: min(100%, 620px);
  min-height: 100vh;
  padding: max(16px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 100% 0, rgba(185, 133, 53, .12), transparent 30%),
    radial-gradient(circle at 0 22%, rgba(35, 77, 62, .08), transparent 28%),
    var(--tea-paper);
  color: var(--tea-ink);
  font-family: "Noto Serif CJK SC", "Songti SC", STSong, "PingFang SC", serif;
}

.teahouse-lovart-page .mobile-pilot-header {
  min-height: 44px;
  padding: 4px 2px 14px;
  border-bottom: 1px solid rgba(185, 133, 53, .22);
}

.teahouse-lovart-page .wordmark {
  color: var(--tea-ink);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .03em;
}

.teahouse-lovart-page .mobile-status-chip,
.teahouse-lovart-page .status-chip {
  border: 1px solid rgba(35, 77, 62, .16);
  background: rgba(35, 77, 62, .1);
  color: var(--tea-green);
  font-size: 11px;
  letter-spacing: .04em;
}

.teahouse-lovart-page .mobile-boundary,
.teahouse-lovart-page .mobile-pilot-card,
.teahouse-lovart-page .mobile-debug {
  border: 1px solid var(--tea-line);
  border-radius: var(--tea-radius);
  box-shadow: var(--tea-shadow);
}

.teahouse-lovart-page .mobile-boundary {
  margin: 14px 0 18px;
  padding: 13px 15px;
  background: linear-gradient(135deg, rgba(255, 251, 241, .96), rgba(245, 236, 218, .88));
  color: #74551f;
  font-size: 12px;
}

.teahouse-lovart-page .mobile-pilot-card {
  position: relative;
  margin: 14px 0;
  padding: 19px;
  overflow: hidden;
  background: var(--tea-card);
}

.teahouse-lovart-page .mobile-pilot-card::after {
  position: absolute;
  right: -18px;
  bottom: -30px;
  width: 116px;
  height: 116px;
  border: 1px solid rgba(185, 133, 53, .13);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.teahouse-lovart-page .mobile-pilot-card h1,
.teahouse-lovart-page .mobile-pilot-card h2 {
  position: relative;
  z-index: 1;
  color: var(--tea-ink);
  font-weight: 700;
  letter-spacing: .035em;
}

.teahouse-lovart-page .mobile-pilot-card h1 {
  font-size: clamp(24px, 7vw, 32px);
  line-height: 1.24;
}

.teahouse-lovart-page .mobile-pilot-card h2 {
  font-size: 19px;
}

.teahouse-lovart-page .mobile-pilot-card p,
.teahouse-lovart-page .helper-text {
  position: relative;
  z-index: 1;
  color: var(--tea-muted);
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .teahouse-form {
  gap: 13px;
  margin: 18px 0;
}

.teahouse-lovart-page .teahouse-field {
  gap: 7px;
  color: var(--tea-ink);
  font-size: 13px;
  font-weight: 700;
}

.teahouse-lovart-page .teahouse-field input,
.teahouse-lovart-page .teahouse-field select,
.teahouse-lovart-page #merchant-pin {
  min-height: 46px;
  border: 1px solid var(--tea-line);
  border-radius: 14px;
  background: rgba(250, 247, 240, .82);
  color: var(--tea-ink);
  font: inherit;
  line-height: 1.45;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.teahouse-lovart-page .teahouse-field input,
.teahouse-lovart-page .teahouse-field select {
  padding: 10px 12px;
}

.teahouse-lovart-page #merchant-pin {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 10px 12px;
}

.teahouse-lovart-page .teahouse-field input[readonly] {
  color: var(--tea-muted);
  background: rgba(231, 222, 207, .56);
}

.teahouse-lovart-page .mobile-consent {
  min-height: 44px;
  color: var(--tea-ink);
  font-size: 13px;
  line-height: 1.55;
}

.teahouse-lovart-page .mobile-consent input {
  accent-color: var(--tea-green);
}

.teahouse-lovart-page .teahouse-actions {
  margin-top: 18px;
}

.teahouse-lovart-page .teahouse-actions button,
.teahouse-lovart-page #merchant-unlock,
.teahouse-lovart-page #merchant-cards button {
  min-height: 48px;
  border: 1px solid rgba(24, 57, 47, .72);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--tea-green), var(--tea-green-deep));
  box-shadow: 0 8px 18px rgba(24, 57, 47, .2);
  color: #fffdf7;
  font-family: inherit;
  font-size: 16px;
  letter-spacing: .06em;
}

.teahouse-lovart-page #merchant-unlock {
  width: 100%;
  margin: 16px 0 8px;
}

.teahouse-lovart-page #merchant-cards .secondary-button {
  border-color: var(--tea-gold-soft);
  background: #8a6a47 !important;
  box-shadow: none;
}

.teahouse-lovart-page #tea-result,
.teahouse-lovart-page #merchant-status {
  position: relative;
  z-index: 1;
  border-left: 3px solid var(--tea-gold);
  color: var(--tea-muted);
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page #tea-result {
  padding: 11px 12px;
  border-radius: 0 13px 13px 0;
  background: rgba(248, 239, 221, .72);
}

.teahouse-lovart-page #merchant-status {
  margin: 10px 0 0;
  padding-left: 10px;
}

.teahouse-lovart-page #merchant-cards {
  display: grid;
  gap: 14px;
}

.teahouse-lovart-page #merchant-cards .mobile-pilot-card {
  margin: 0;
  border-color: rgba(185, 133, 53, .28);
  box-shadow: 0 7px 20px rgba(72, 45, 24, .07);
}

.teahouse-lovart-page #merchant-cards b {
  position: relative;
  z-index: 1;
  color: var(--tea-ink);
  font-size: 17px;
}

.teahouse-lovart-page .mobile-debug {
  background: rgba(255, 253, 248, .78);
  color: var(--tea-muted);
}

.teahouse-lovart-page .mobile-debug summary {
  min-height: 44px;
  padding: 4px 2px;
  color: var(--tea-ink);
  font-weight: 700;
  cursor: pointer;
}

.teahouse-lovart-page .mobile-debug pre {
  border-radius: 14px;
}

.teahouse-lovart-page a:focus-visible,
.teahouse-lovart-page button:focus-visible,
.teahouse-lovart-page input:focus-visible,
.teahouse-lovart-page select:focus-visible,
.teahouse-lovart-page summary:focus-visible {
  outline: 3px solid rgba(185, 133, 53, .8);
  outline-offset: 3px;
}

.teahouse-lovart-page .teahouse-field input:focus,
.teahouse-lovart-page .teahouse-field select:focus,
.teahouse-lovart-page #merchant-pin:focus {
  border-color: var(--tea-gold);
  box-shadow: 0 0 0 3px rgba(185, 133, 53, .14);
}

@media (min-width: 768px) {
  .teahouse-lovart-page {
    width: min(100% - 48px, 760px);
    padding: 28px 24px 38px;
  }

  .teahouse-lovart-page .mobile-pilot-card {
    padding: 26px;
  }

  .teahouse-lovart-page .teahouse-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .teahouse-lovart-page .teahouse-form > .helper-text,
  .teahouse-lovart-page .mobile-consent {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .teahouse-lovart-page {
    width: min(100% - 64px, 900px);
  }
}

/* Mobile compatibility guardrails for the standalone teahouse pages. */
@media (max-width: 767px) {
  body.teahouse-lovart-body {
    margin: 0;
    overflow-x: hidden;
  }

  body.teahouse-lovart-body .teahouse-lovart-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-right: 12px;
    padding-left: 12px;
  }

  body.teahouse-lovart-body .teahouse-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.teahouse-lovart-body .tea-home-hero,
  body.teahouse-lovart-body .tea-merchant-hero {
    min-height: 220px;
  }

  body.teahouse-lovart-body .tea-home-hero h1,
  body.teahouse-lovart-body .tea-merchant-hero h1 {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.teahouse-lovart-body .tea-environment-figure img {
    max-height: 220px;
  }

  body.teahouse-lovart-body .teahouse-field input,
  body.teahouse-lovart-body .teahouse-field select,
  body.teahouse-lovart-body .teahouse-actions button,
  body.teahouse-lovart-body #merchant-unlock {
    min-height: 44px;
    font-size: 16px;
  }
}

/* P1-A · user reservation entry, form, and result presentation. */
.teahouse-lovart-page.teahouse-lovart-user-page {
  padding-bottom: max(42px, calc(24px + env(safe-area-inset-bottom)));
}

.teahouse-lovart-page .tea-home-hero {
  position: relative;
  isolation: isolate;
  min-height: 318px;
  margin: 14px 0 18px;
  padding: 28px 22px 25px;
  overflow: hidden;
  border: 1px solid rgba(185, 133, 53, .33);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(44, 34, 25, .96), rgba(75, 48, 31, .86)),
    linear-gradient(120deg, #1e4437, #6b452b);
  box-shadow: 0 15px 34px rgba(61, 38, 24, .18);
  color: #fffaf0;
}

.teahouse-lovart-page .tea-home-hero::before,
.teahouse-lovart-page .tea-home-hero::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(234, 216, 180, .22);
  border-radius: 50%;
  content: "";
}

.teahouse-lovart-page .tea-home-hero::before {
  top: -100px;
  right: -64px;
  width: 300px;
  height: 300px;
}

.teahouse-lovart-page .tea-home-hero::after {
  bottom: -155px;
  left: -58px;
  width: 260px;
  height: 260px;
}

.teahouse-lovart-page .tea-home-hero-art {
  position: absolute;
  top: 24px;
  right: 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  width: 106px;
  height: 126px;
  opacity: .5;
  transform: rotate(18deg);
}

.teahouse-lovart-page .tea-home-hero-art span {
  display: block;
  min-width: 0;
  border: 1px solid rgba(234, 216, 180, .46);
  border-radius: 100% 0 100% 0;
  background: linear-gradient(135deg, rgba(234, 216, 180, .18), transparent);
}

.teahouse-lovart-page .tea-eyebrow {
  margin: 0 0 9px;
  color: var(--tea-gold);
  font-family: "PingFang SC", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .17em;
}

.teahouse-lovart-page .tea-home-hero .tea-eyebrow {
  color: #ecd39a;
}

.teahouse-lovart-page .tea-home-hero h1 {
  min-width: 0;
  max-width: none;
  margin: 0;
  color: #fffaf0;
  font-size: clamp(18px, 5.2vw, 42px);
  line-height: 1.2;
  letter-spacing: -.035em;
}

.teahouse-lovart-page .tea-home-copy {
  max-width: 16em;
  margin: 16px 0 20px;
  color: rgba(255, 250, 240, .8);
  font-size: 14px;
  line-height: 1.7;
}

.teahouse-lovart-page .tea-home-cta,
.teahouse-lovart-page .tea-text-cta {
  min-height: 48px;
  border: 1px solid rgba(234, 216, 180, .62);
  border-radius: 999px;
  background: #fffaf0;
  color: var(--tea-green-deep);
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .08em;
}

.teahouse-lovart-page .tea-home-cta {
  min-width: min(100%, 210px);
  padding: 11px 25px;
}

.teahouse-lovart-page .tea-store-overview,
.teahouse-lovart-page .tea-package-overview,
.teahouse-lovart-page .tea-reservation-section,
.teahouse-lovart-page .tea-result-section {
  position: relative;
  margin: 14px 0;
  border: 1px solid var(--tea-line);
  border-radius: var(--tea-radius);
  background: var(--tea-card);
  box-shadow: var(--tea-shadow);
}

.teahouse-lovart-page .tea-store-overview {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  padding: 19px;
}

.teahouse-lovart-page .tea-store-mark,
.teahouse-lovart-page .tea-result-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(185, 133, 53, .3);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #356451, var(--tea-green-deep));
  color: #f6e8c8;
  font-size: 22px;
  font-weight: 700;
}

.teahouse-lovart-page .tea-store-overview h2,
.teahouse-lovart-page .tea-package-overview h2,
.teahouse-lovart-page .tea-reservation-section h2,
.teahouse-lovart-page .tea-result-section h2 {
  margin: 0;
  color: var(--tea-ink);
  font-size: 22px;
  line-height: 1.3;
}

.teahouse-lovart-page .tea-store-overview p,
.teahouse-lovart-page .tea-package-overview > p,
.teahouse-lovart-page .tea-result-section p {
  margin: 7px 0 0;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-store-overview .tea-store-note {
  grid-column: 1 / -1;
  margin: 6px 0 0;
  padding-top: 13px;
  border-top: 1px solid var(--tea-line);
}

.teahouse-lovart-page .tea-package-overview,
.teahouse-lovart-page .tea-reservation-section {
  padding: 20px;
}

.teahouse-lovart-page .tea-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.teahouse-lovart-page .tea-section-heading .tea-eyebrow {
  margin-bottom: 5px;
}

.teahouse-lovart-page .tea-text-cta {
  width: 100%;
  margin-top: 16px;
  padding: 10px 18px;
  border-color: rgba(185, 133, 53, .6);
  background: linear-gradient(90deg, rgba(255, 253, 248, .9), rgba(247, 237, 215, .9));
  color: var(--tea-ink);
  text-align: left;
}

.teahouse-lovart-page .tea-text-cta span {
  float: right;
  color: var(--tea-gold);
  font-size: 20px;
  line-height: .85;
}

.teahouse-lovart-page .tea-prefill-note {
  margin: 15px 0 0;
  padding: 10px 12px;
  border-left: 3px solid var(--tea-gold);
  border-radius: 0 12px 12px 0;
  background: rgba(248, 239, 221, .76);
}

.teahouse-lovart-page .tea-reservation-form {
  gap: 12px;
  margin: 18px 0 0;
}

.teahouse-lovart-page .tea-form-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(232, 220, 200, .92);
  border-radius: 17px;
  background: linear-gradient(135deg, rgba(255, 254, 250, .97), rgba(248, 243, 233, .83));
  box-shadow: 0 5px 15px rgba(73, 48, 30, .045);
}

.teahouse-lovart-page .tea-form-card::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 7px 1px 0;
  border-radius: 50%;
  background: var(--tea-gold);
  content: "";
}

.teahouse-lovart-page .tea-form-card input,
.teahouse-lovart-page .tea-form-card select {
  margin-top: 8px;
  border-color: rgba(232, 220, 200, .95);
  border-radius: 12px;
  background-color: rgba(250, 247, 240, .9);
  font-family: "PingFang SC", sans-serif;
  font-size: 15px;
}

.teahouse-lovart-page .tea-form-helper {
  margin: -2px 2px 1px;
  color: var(--tea-muted);
  font-size: 12px;
}

.teahouse-lovart-page .tea-consent-card {
  min-height: 54px;
  margin-top: 2px;
  padding: 13px 14px;
  border: 1px solid var(--tea-line);
  border-radius: 16px;
  background: rgba(255, 253, 248, .72);
}

.teahouse-lovart-page .tea-submit-wrap {
  margin-top: 18px;
}

.teahouse-lovart-page .tea-submit-wrap button {
  min-height: 54px;
  font-size: 18px;
}

.teahouse-lovart-page .tea-result-section {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 13px;
  padding: 19px;
}

.teahouse-lovart-page .tea-result-section #tea-result {
  margin-top: 10px;
}

.teahouse-lovart-page .tea-home-cta:hover,
.teahouse-lovart-page .tea-text-cta:hover {
  border-color: var(--tea-gold);
  background: #fffdf8;
}

@media (min-width: 768px) {
  .teahouse-lovart-page .tea-home-hero {
    min-height: 348px;
    padding: 38px 36px;
  }

  .teahouse-lovart-page .tea-home-hero-art {
    top: 34px;
    right: 43px;
    width: 150px;
    height: 168px;
  }

  .teahouse-lovart-page .tea-store-overview,
  .teahouse-lovart-page .tea-package-overview,
  .teahouse-lovart-page .tea-reservation-section,
  .teahouse-lovart-page .tea-result-section {
    padding: 26px;
  }

  .teahouse-lovart-page .tea-form-card-wide,
  .teahouse-lovart-page .tea-form-helper,
  .teahouse-lovart-page .tea-consent-card {
    grid-column: 1 / -1;
  }
}

/* P2-A · approved teahouse photo assets. */
.teahouse-lovart-page .tea-home-hero-image {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.teahouse-lovart-page .tea-home-hero-overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(112deg, rgba(24, 57, 47, .94), rgba(63, 43, 32, .74) 55%, rgba(63, 43, 32, .48));
  pointer-events: none;
}

.teahouse-lovart-page .tea-home-hero-art {
  z-index: 2;
}

.teahouse-lovart-page .tea-home-hero > .tea-eyebrow,
.teahouse-lovart-page .tea-home-hero > h1,
.teahouse-lovart-page .tea-home-hero > .tea-home-copy,
.teahouse-lovart-page .tea-home-hero > .tea-home-cta {
  position: relative;
  z-index: 3;
}

.teahouse-lovart-page .tea-environment-card {
  display: grid;
  margin: 14px 0;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--tea-line);
  border-radius: var(--tea-radius);
  background: var(--tea-card);
  box-shadow: var(--tea-shadow);
}

.teahouse-lovart-page .tea-environment-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.teahouse-lovart-page .tea-environment-figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(232, 220, 200, .92);
  border-radius: 16px;
  background: rgba(248, 243, 233, .83);
}

.teahouse-lovart-page .tea-environment-figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.teahouse-lovart-page .tea-environment-figure img {
  object-position: center;
}

.teahouse-lovart-page .tea-environment-heading .tea-eyebrow {
  margin-bottom: 5px;
}

.teahouse-lovart-page .tea-environment-heading h2 {
  margin: 0;
  color: var(--tea-ink);
  font-size: 22px;
  line-height: 1.3;
}

.teahouse-lovart-page .tea-environment-figure figcaption,
.teahouse-lovart-page .tea-environment-note {
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-environment-figure figcaption {
  padding: 8px 10px 9px;
}

.teahouse-lovart-page .tea-environment-note {
  margin: 13px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--tea-line);
}

@media (min-width: 768px) {
  .teahouse-lovart-page .tea-environment-card {
    padding: 24px;
  }

  .teahouse-lovart-page .tea-environment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

/* P1-B · merchant PIN, reservation cards, and manual confirmation presentation. */
.teahouse-lovart-page.teahouse-lovart-merchant-page {
  padding-bottom: max(36px, calc(22px + env(safe-area-inset-bottom)));
}

.teahouse-lovart-page .tea-merchant-header {
  align-items: center;
}

.teahouse-lovart-page .tea-merchant-header .mobile-status-chip {
  padding: 8px 13px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--tea-green), var(--tea-green-deep));
  color: #fffaf0;
  font-size: 12px;
}

.teahouse-lovart-page .tea-merchant-hero {
  position: relative;
  isolation: isolate;
  min-height: 218px;
  margin: 16px 0;
  padding: 27px 22px;
  overflow: hidden;
  border: 1px solid rgba(185, 133, 53, .32);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 20%, rgba(234, 216, 180, .25), transparent 23%),
    linear-gradient(138deg, #1c4235, #234d3e 48%, #553924);
  box-shadow: 0 15px 34px rgba(61, 38, 24, .18);
  color: #fffaf0;
}

.teahouse-lovart-page .tea-merchant-hero::before,
.teahouse-lovart-page .tea-merchant-hero::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(234, 216, 180, .22);
  border-radius: 50%;
  content: "";
}

.teahouse-lovart-page .tea-merchant-hero::before {
  top: -115px;
  right: -90px;
  width: 290px;
  height: 290px;
}

.teahouse-lovart-page .tea-merchant-hero::after {
  bottom: -155px;
  left: -75px;
  width: 270px;
  height: 270px;
}

.teahouse-lovart-page .tea-merchant-hero-image,
.teahouse-lovart-page .tea-merchant-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.teahouse-lovart-page .tea-merchant-hero-image {
  z-index: 0;
  display: block;
  object-fit: cover;
  object-position: center;
}

.teahouse-lovart-page .tea-merchant-hero-overlay {
  z-index: 1;
  background: linear-gradient(112deg, rgba(24, 57, 47, .94), rgba(63, 43, 32, .76) 56%, rgba(63, 43, 32, .5));
  pointer-events: none;
}

.teahouse-lovart-page .tea-merchant-hero-art {
  z-index: 2;
}

.teahouse-lovart-page .tea-merchant-hero > .tea-eyebrow,
.teahouse-lovart-page .tea-merchant-hero > h1,
.teahouse-lovart-page .tea-merchant-hero > p:last-child {
  position: relative;
  z-index: 3;
}

@supports selector(.teahouse-lovart-page:has(#merchant-list:not([hidden]))) {
  .teahouse-lovart-page.teahouse-lovart-merchant-page:has(#merchant-list:not([hidden])) .tea-merchant-hero {
    display: none;
  }
}

.teahouse-lovart-page .tea-merchant-hero .tea-eyebrow {
  color: #ecd39a;
}

.teahouse-lovart-page .tea-merchant-hero h1 {
  min-width: 0;
  max-width: none;
  margin: 0;
  color: #fffaf0;
  font-size: clamp(18px, 5.2vw, 42px);
  line-height: 1.2;
  letter-spacing: -.035em;
}

/* P1.5 · Keep the two fixed Hero titles together on common mobile widths.
   At 320px natural wrapping is retained as the no-overflow fallback. */
@media (min-width: 360px) {
  .teahouse-lovart-page .tea-home-hero h1,
  .teahouse-lovart-page .tea-merchant-hero h1 {
    white-space: nowrap;
  }
}

.teahouse-lovart-page .tea-merchant-hero > p:last-child {
  margin: 15px 0 0;
  color: rgba(255, 250, 240, .8);
  font-family: "PingFang SC", sans-serif;
  font-size: 14px;
}

.teahouse-lovart-page .tea-merchant-hero-art {
  position: absolute;
  right: 20px;
  bottom: 19px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  width: 90px;
  height: 86px;
  opacity: .45;
  transform: rotate(22deg);
}

.teahouse-lovart-page .tea-merchant-hero-art span {
  border: 1px solid rgba(234, 216, 180, .64);
  border-radius: 100% 0 100% 0;
  background: linear-gradient(135deg, rgba(234, 216, 180, .2), transparent);
}

.teahouse-lovart-page .tea-merchant-boundary,
.teahouse-lovart-page .tea-pin-card,
.teahouse-lovart-page .tea-merchant-orders,
.teahouse-lovart-page .tea-merchant-order-card,
.teahouse-lovart-page .tea-recent-reservations {
  min-width: 0;
  border: 1px solid var(--tea-line);
  border-radius: var(--tea-radius);
  background: var(--tea-card);
  box-shadow: var(--tea-shadow);
}

.teahouse-lovart-page .tea-merchant-boundary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  margin: 16px 0;
  padding: 18px;
}

.teahouse-lovart-page .tea-boundary-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(185, 133, 53, .32);
  border-radius: 50%;
  background: linear-gradient(135deg, #f7eedc, #fffdf7);
  color: var(--tea-green);
  font-size: 17px;
}

.teahouse-lovart-page .tea-merchant-boundary p {
  margin: 0;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 13px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-merchant-boundary p + p {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px dotted var(--tea-line);
}

.teahouse-lovart-page .tea-pin-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  margin: 16px 0 12px;
  padding: 18px;
}

.teahouse-lovart-page .tea-pin-icon {
  position: relative;
  align-self: start;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(185, 133, 53, .3);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fffdf7, #f1e3c7);
}

.teahouse-lovart-page .tea-pin-icon::before {
  position: absolute;
  top: 14px;
  left: 18px;
  width: 20px;
  height: 17px;
  border: 3px solid #b98535;
  border-bottom: 0;
  border-radius: 13px 13px 0 0;
  content: "";
}

.teahouse-lovart-page .tea-pin-icon::after {
  position: absolute;
  top: 28px;
  left: 14px;
  width: 29px;
  height: 21px;
  border-radius: 5px;
  background: linear-gradient(135deg, #c89b48, #9d6d25);
  box-shadow: inset 0 -7px 0 rgba(76, 45, 19, .09);
  content: "";
}

.teahouse-lovart-page .tea-pin-body {
  min-width: 0;
}

.teahouse-lovart-page .tea-pin-body label {
  display: block;
  color: var(--tea-ink);
  font-family: "PingFang SC", sans-serif;
  font-size: 21px;
  font-weight: 700;
}

.teahouse-lovart-page .tea-pin-body #merchant-pin {
  margin-top: 10px;
  border-color: rgba(185, 133, 53, .72);
  font-family: inherit;
  font-size: 16px;
  letter-spacing: normal;
  word-spacing: normal;
  line-height: normal;
  text-align: left;
}

.teahouse-lovart-page .tea-pin-body #merchant-pin::placeholder {
  color: var(--tea-muted);
  font-family: inherit;
  letter-spacing: normal;
  word-spacing: normal;
  line-height: normal;
  opacity: 1;
}

.teahouse-lovart-page .tea-merchant-unlock {
  position: relative;
  width: 100%;
  min-height: 54px;
  margin: 0 0 18px;
  overflow: hidden;
  font-size: 18px;
  font-weight: 700;
}

.teahouse-lovart-page .tea-merchant-unlock::after {
  position: absolute;
  right: 22px;
  top: 11px;
  width: 34px;
  height: 28px;
  border: 1px solid rgba(234, 216, 180, .3);
  border-radius: 100% 0 100% 0;
  content: "";
  opacity: .65;
  transform: rotate(18deg);
}

.teahouse-lovart-page .tea-merchant-orders {
  margin: 18px 0;
  padding: 19px;
}

.teahouse-lovart-page .tea-orders-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.teahouse-lovart-page .tea-orders-heading h2 {
  margin: 0;
  color: var(--tea-ink);
  font-size: clamp(22px, 6vw, 30px);
}

.teahouse-lovart-page .tea-poll-meta {
  flex: 0 1 auto;
  margin: 0;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 11px;
  line-height: 1.6;
  text-align: right;
}

.teahouse-lovart-page .tea-poll-meta > span:first-child {
  color: var(--tea-gold);
  font-size: 20px;
}

.teahouse-lovart-page .tea-merchant-order-card {
  margin: 14px 0;
  padding: 17px;
  overflow: hidden;
}

.teahouse-lovart-page .tea-merchant-order-card > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}

.teahouse-lovart-page .tea-order-trace,
.teahouse-lovart-page .tea-order-provenance {
  margin: 0;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-merchant-order-card h3 {
  margin: 3px 0 0;
  color: var(--tea-ink);
  font-size: 20px;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-status-badge {
  flex: 0 0 auto;
  max-width: 48%;
  padding: 6px 9px;
  border: 1px solid rgba(185, 133, 53, .22);
  border-radius: 999px;
  background: #f7edda;
  color: #98702e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-order-layout {
  display: grid;
  gap: 16px;
}

.teahouse-lovart-page .tea-order-main {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.teahouse-lovart-page .tea-order-environment {
  min-width: 0;
  max-width: none;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(232, 220, 200, .92);
  border-radius: 14px;
  background: rgba(248, 243, 233, .83);
}

.teahouse-lovart-page .tea-order-environment img {
  display: block;
  width: 100%;
  max-height: 220px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

.teahouse-lovart-page .tea-order-environment figcaption {
  padding: 8px 10px 9px;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-order-spec {
  margin: 0 0 13px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--tea-line);
  color: var(--tea-ink);
  font-weight: 700;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-order-details dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  margin: 0;
}

.teahouse-lovart-page .tea-order-details dl > div {
  min-width: 0;
}

.teahouse-lovart-page .tea-order-details dt {
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 11px;
}

.teahouse-lovart-page .tea-order-details dd {
  margin: 3px 0 0;
  color: var(--tea-ink);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-order-details .tea-order-wide {
  grid-column: 1 / -1;
}

.teahouse-lovart-page .tea-order-provenance {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--tea-line);
}

.teahouse-lovart-page .tea-manual-flow {
  position: relative;
  min-width: 0;
  padding: 16px 14px 14px;
  border: 1px solid rgba(232, 220, 200, .95);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(255, 254, 250, .97), rgba(247, 241, 230, .8));
}

.teahouse-lovart-page .tea-manual-flow h3 {
  margin: 0 0 14px;
  color: var(--tea-ink);
  font-size: 17px;
}

.teahouse-lovart-page .tea-manual-flow h3 > span {
  color: var(--tea-gold);
}

.teahouse-lovart-page .tea-manual-flow h3 small {
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 11px;
  font-weight: 400;
}

.teahouse-lovart-page .tea-manual-flow ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.teahouse-lovart-page .tea-manual-flow li {
  position: relative;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 10px;
  min-height: 51px;
  padding-bottom: 12px;
}

.teahouse-lovart-page .tea-manual-flow li:not(:last-child)::after {
  position: absolute;
  top: 31px;
  left: 15px;
  width: 2px;
  height: calc(100% - 23px);
  background: #ded6cb;
  content: "";
}

.teahouse-lovart-page .tea-flow-number {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #ded9d2;
  color: #fffdf8;
  font-size: 15px;
  font-weight: 700;
}

.teahouse-lovart-page .tea-manual-flow li.is-done .tea-flow-number {
  background: #8a9e92;
}

.teahouse-lovart-page .tea-manual-flow li.is-current .tea-flow-number {
  background: linear-gradient(135deg, var(--tea-green), var(--tea-green-deep));
}

.teahouse-lovart-page .tea-manual-flow strong {
  display: inline;
  color: var(--tea-ink);
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page .tea-manual-flow em {
  display: inline-block;
  margin-left: 7px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(210, 202, 191, .35);
  color: #8a7a69;
  font-family: "PingFang SC", sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

.teahouse-lovart-page .tea-manual-flow li.is-current em {
  background: rgba(35, 77, 62, .1);
  color: var(--tea-green);
}

.teahouse-lovart-page .tea-manual-flow button {
  width: 100%;
  min-height: 45px;
  margin-top: 10px;
  padding: 9px 13px;
  font-size: 14px;
}

.teahouse-lovart-page .tea-manual-flow .secondary-button {
  border-color: var(--tea-gold-soft);
  background: #8a6a47 !important;
}

.teahouse-lovart-page .tea-manual-flow > p {
  margin: 2px 0 0;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 12px;
  line-height: 1.6;
}

.teahouse-lovart-page .tea-empty-orders {
  display: grid;
  place-items: center;
  min-height: 120px;
  padding: 18px;
  border: 1px dashed var(--tea-line);
  border-radius: 17px;
  color: var(--tea-muted);
  text-align: center;
}

.teahouse-lovart-page .tea-empty-orders span {
  color: var(--tea-gold);
  font-size: 28px;
}

.teahouse-lovart-page .tea-empty-orders p {
  margin: 4px 0 0;
}

.teahouse-lovart-page .tea-recent-reservations {
  margin-top: 14px;
  padding: 0 15px;
  box-shadow: 0 6px 16px rgba(72, 45, 24, .05);
}

.teahouse-lovart-page .tea-recent-reservations summary {
  min-height: 50px;
  padding: 13px 0;
  color: var(--tea-ink);
  font-weight: 700;
  cursor: pointer;
}

.teahouse-lovart-page .tea-recent-reservations summary > span:first-child {
  margin-right: 8px;
  color: var(--tea-gold);
}

.teahouse-lovart-page .tea-summary-hint {
  float: right;
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 11px;
  font-weight: 400;
}

.teahouse-lovart-page .tea-recent-reservations p {
  margin: 0 0 14px;
  padding-top: 11px;
  border-top: 1px solid var(--tea-line);
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page #merchant-recent-cards {
  display: grid;
  gap: 8px;
  padding-bottom: 14px;
}

.teahouse-lovart-page #merchant-recent-cards article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 11px;
  border-radius: 12px;
  background: rgba(247, 242, 232, .7);
}

.teahouse-lovart-page #merchant-recent-cards strong {
  color: var(--tea-ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page #merchant-recent-cards span {
  color: var(--tea-muted);
  font-family: "PingFang SC", sans-serif;
  font-size: 11px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.teahouse-lovart-page #merchant-recent-cards > p {
  margin: 0;
  padding: 10px 11px;
  border: 0;
  border-radius: 12px;
  background: rgba(247, 242, 232, .7);
}

.teahouse-lovart-page #merchant-status {
  min-height: 22px;
  margin: 10px 0 0;
}

.teahouse-lovart-page #merchant-list[hidden] {
  display: none;
}

@media (min-width: 768px) {
  .teahouse-lovart-page .tea-merchant-hero {
    min-height: 256px;
    padding: 35px 32px;
  }

  .teahouse-lovart-page .tea-merchant-boundary,
  .teahouse-lovart-page .tea-pin-card,
  .teahouse-lovart-page .tea-merchant-orders {
    padding: 25px;
  }

  .teahouse-lovart-page .tea-order-details dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .teahouse-lovart-page .tea-order-main {
    grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);
    align-items: start;
  }

  .teahouse-lovart-page .tea-order-environment {
    max-width: none;
  }

  .teahouse-lovart-page .tea-order-environment img {
    max-height: none;
  }
}

@media (min-width: 1024px) {
  .teahouse-lovart-page .tea-merchant-orders {
    padding: 28px;
  }

  .teahouse-lovart-page .tea-merchant-order-card {
    padding: 22px;
  }

  .teahouse-lovart-page .tea-order-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
    align-items: start;
  }
}
.tea-inventory{margin:0 0 12px;font-weight:700;color:#5c4025}.tea-merchant-toast{padding:10px 12px;border-radius:10px;background:#fff2c9;color:#694200;font-weight:700}.tea-merchant-order-card.is-new-order{outline:3px solid #d79c36;animation:tea-new-order-pulse 1.4s ease-in-out 2}@keyframes tea-new-order-pulse{50%{box-shadow:0 0 0 7px rgba(215,156,54,.22)}}
.tea-notification-preview{margin-top:14px;padding:12px;border:1px solid #d9ba7a;border-radius:10px;background:#fffaf0}.tea-notification-preview h4,.tea-notification-preview p{margin:0 0 8px}.tea-notification-preview small{display:block;color:#6a5947}.tea-notification-preview div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.life-agent-body{margin:0;background:#f6f2e9;color:#2f2922;font-family:system-ui,-apple-system,"PingFang SC",sans-serif}.life-agent-shell{max-width:520px;margin:auto;padding:18px 16px 40px}.life-agent-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.life-agent-header .wordmark{color:#432d1c;font-weight:800;text-decoration:none;letter-spacing:.01em}.life-agent-header span{padding:5px 9px;border:1px solid #d9c3a3;border-radius:999px;background:#fffaf2;font-size:.75rem;color:#6a5947;white-space:nowrap}.life-agent-hero{padding:38px 4px 18px}.life-agent-hero h1{font-size:2.2rem;line-height:1.16;margin:0 0 10px;letter-spacing:-.04em}.life-agent-hero>p{margin:0;color:#6a5947;line-height:1.6}.life-agent-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.life-agent-badges span{padding:5px 8px;border-radius:999px;background:#e7f1e9;color:#315e4c;font-size:.72rem;font-weight:700}.life-agent-badges span:nth-child(2){background:#f7ead1;color:#765018}.life-agent-badges span:nth-child(3){background:#eee8f5;color:#5a4876}.life-agent-boundary,.life-agent-card{background:#fff;border:1px solid #e2d7c7;border-radius:18px;padding:18px;margin:16px 0;box-shadow:0 6px 20px #5c442012}.life-agent-boundary{border-left:4px solid #8b6239;line-height:1.6}.life-agent-card label,.life-agent-card textarea{display:block;width:100%;box-sizing:border-box}.life-agent-card label{font-weight:750}.life-agent-card textarea{min-height:126px;margin:12px 0;border:1px solid #cdbba5;border-radius:15px;padding:13px;background:#fcfaf6;font:inherit;line-height:1.55;resize:vertical}.life-agent-card textarea:focus{outline:3px solid #ead6b4;border-color:#8b6239}.life-agent-card button{background:#704521;color:#fff;border:0;border-radius:11px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer}.life-agent-card button:disabled{cursor:wait;opacity:.58}.life-agent-example{width:100%;margin:0 0 12px;background:#f9f0e2!important;color:#63411f!important;text-align:left;font-size:.88rem;font-weight:600!important;line-height:1.45}.life-agent-actions{display:flex;gap:10px}.life-agent-actions button{flex:1}.life-agent-card .life-agent-secondary{border:1px solid #a97a43;background:#fff8ed;color:#704521}.life-agent-progress{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none;color:#877666;font-size:.9rem}.life-agent-progress li{position:relative;padding-left:25px}.life-agent-progress li:before{position:absolute;left:0;top:3px;width:13px;height:13px;border:1px solid #cdbba5;border-radius:50%;content:""}.life-agent-progress li.is-active{color:#704521;font-weight:700}.life-agent-progress li.is-active:before{border-color:#704521;background:#704521;box-shadow:0 0 0 4px #f1e3cf}.life-agent-progress li.is-complete{color:#315e4c}.life-agent-progress li.is-complete:before{border-color:#315e4c;background:#315e4c}.life-agent-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.life-agent-card dl div{background:#faf7f1;padding:8px;border-radius:9px}.life-agent-card dt{font-size:.8rem;color:#786b5c}.life-agent-card dd{margin:4px 0 0;word-break:break-word}.life-agent-install{margin:28px 6px 0;color:#6a5947;font-size:.88rem;line-height:1.6;text-align:center}.life-agent-install span{font-size:.8rem}@media(max-width:480px){.life-agent-shell{padding-inline:12px}.life-agent-hero h1{font-size:2rem}.life-agent-card dl{grid-template-columns:1fr}.life-agent-actions{display:grid;grid-template-columns:1fr}}
.tea-preference-prompt{grid-column:1/-1;padding:12px;border:1px solid #a9c7b4;border-radius:10px;background:#f2faf4}.tea-preference-prompt p{margin:0 0 10px}.tea-preference-prompt button+button{margin-left:8px}
.tea-share-section{margin:20px 0;padding:22px;border:1px solid #d8bd86;border-radius:18px;background:linear-gradient(135deg,#fffdf8,#f8f0df);box-shadow:0 8px 22px rgba(91,62,29,.08)}.tea-share-section>p{margin:10px 0;color:#624c35}.tea-share-actions,.tea-share-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.tea-share-actions>*{flex:1 1 190px;text-align:center}.tea-share-result-card{display:grid;gap:9px;margin-top:12px}.tea-share-copy-status{min-height:1.5em;margin:10px 0 0;color:#315e4c;font-weight:700}.tea-share-fallback{box-sizing:border-box;width:100%;min-height:140px;margin-top:12px;padding:12px;border:1px solid #cdb27c;border-radius:10px;background:#fff;color:#332719;font:inherit;line-height:1.5}.tea-share-link-card{display:block;padding:12px 14px;border:1px solid #cfb47d;border-radius:10px;background:#fff;text-decoration:none;color:#6d4316;font-weight:700}.teahouse-share-card-page{padding-bottom:28px}.tea-share-card-hero,.tea-share-card-section{margin:18px 0;padding:22px;border:1px solid #dfc58f;border-radius:18px;background:#fffaf0;box-shadow:0 8px 20px rgba(88,59,24,.07)}.tea-share-card-hero h1{margin:6px 0;color:#543718}.tea-share-card-section h2{margin-top:0;color:#68451f}.tea-share-card-section blockquote{margin:12px 0;padding:14px;border-left:4px solid #b88335;border-radius:8px;background:#fff;line-height:1.65}.tea-share-card-actions>*{flex:1 1 190px}.tea-share-card-button{display:flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;padding:11px 15px;border:1px solid #365e4c;border-radius:10px;background:#315e4c;color:#fffdf8!important;font-weight:700;line-height:1.35;text-align:center;text-decoration:none}.tea-share-card-button:hover{background:#244b3a;color:#fff!important}.tea-share-card-button.secondary{border-color:#8a6331;background:#f8ecd3;color:#523312!important}.tea-share-card-button.secondary:hover{background:#ead3a5;color:#3d2510!important}.tea-share-card-return{margin-top:8px}@media (max-width:560px){.tea-share-actions,.tea-share-card-actions{display:grid;grid-template-columns:1fr}.tea-share-actions>*,.tea-share-card-actions>*{width:100%}}
