.app:has(.v3-screen.active > .ui03-head), #v323-confirm-dialog, .v3-toast {
  --ui03-paper:#fffdf9; --ui03-cream:#faf6ef; --ui03-line:#e4d2c6;
  --ui03-ink:#46352f; --ui03-muted:#79645a; --ui03-wine:#873a4c;
  --ui03-serif:"Songti SC","Noto Serif CJK SC",STSong,SimSun,serif;
  --ui03-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
}
.app:has(.v3-screen.active > .ui03-head) { min-height:100dvh; background:var(--ui03-cream); }
.app:has(.v3-screen.active > .ui03-head) > .v3-main { padding-top:0; }
.ui03-head {
  display:flex; align-items:center; gap:10px; margin:0 0 22px;
  color:var(--ui03-ink); font-family:var(--ui03-sans);
}
.ui03-head > div { min-width:0; }
.ui03-head h1 { font-size:1.42rem; line-height:1.35; margin:0; }
.ui03-head small { display:block; margin-top:3px; color:var(--ui03-muted); font-size:.72rem; }
.ui03-head :is(.ui03-back,.ui03-mark) {
  display:grid; place-items:center; width:44px; height:44px; flex:none;
  border:1px solid var(--ui03-line); border-radius:13px; background:#fffaf4; color:var(--ui03-wine);
}
.ui03-head .ui03-mark { margin-inline-start:auto; border-color:transparent; background:#f3dcd7; }
.ui03-mark svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; }
.ui03-eyebrow { display:flex; gap:9px; align-items:center; color:#8f5f49; font:750 .68rem/1.4 var(--ui03-sans); letter-spacing:.1em; margin:0 0 9px; }
.ui03-eyebrow::before { content:""; width:20px; border-top:1px solid #c5a286; }
.ui03-footer { margin:22px 0 0; text-align:center; color:var(--ui03-muted); font-size:.75rem; letter-spacing:.1em; }
.ui03-empty {
  border:1px dashed #d9c4b5; border-radius:19px; padding:32px 14px; text-align:center;
  background:#fffaf3; color:var(--ui03-muted);
}
.ui03-empty span { display:block; color:#a96375; font-size:2rem; }
.ui03-empty strong { color:var(--ui03-ink); }
.ui03-empty p { margin:6px 0 0; }

#v3-v32-cases { max-width:520px; padding:23px 0 16px; color:var(--ui03-ink); }
#v3-v32-cases .ui03-archive-intro { margin:0 0 16px; }
#v3-v32-cases .ui03-archive-intro h2 { margin:0; font:900 clamp(26px,7.4vw,36px)/1.36 var(--ui03-serif); }
#v3-v32-cases .ui03-archive-intro em { color:var(--ui03-wine); font-style:normal; }
#v3-v32-cases .ui03-archive-intro p { margin:8px 0 0; color:var(--ui03-muted); font-size:.81rem; }
#v3-v32-cases .history-filters { gap:7px; margin-bottom:7px; scrollbar-width:thin; }
#v3-v32-cases .history-filters button { background:#fffaf5; border-color:#d9c8bb; font-weight:750; color:#72534a; }
#v3-v32-cases .history-filters button[aria-pressed="true"] { background:var(--ui03-wine); border-color:var(--ui03-wine); color:#fff; }
#v3-v32-cases .history-count { margin:0 0 10px; color:var(--ui03-muted); font-size:.76rem; }
#v3-v32-cases .v322-case-list { display:grid; gap:11px; }
#v3-v32-cases .v35-history-entry {
  display:block; min-width:0; padding:10px 13px 3px; border:1px solid var(--ui03-line);
  border-radius:18px; background:linear-gradient(160deg,#fffdf9,#fff9f5); box-shadow:0 4px 12px #8466560b;
}
#v3-v32-cases .v35-history-entry[data-history-type="summons"] .history-card-tag { background:#eee7f2; color:#665376; }
#v3-v32-cases .v322-case-row {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px;
  width:100%; padding:0 0 9px; margin:0; border:0; background:none; text-align:start;
}
#v3-v32-cases .history-card-copy { display:grid; gap:5px; min-width:0; }
#v3-v32-cases .history-card-upper { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
#v3-v32-cases .history-card-upper time { color:var(--ui03-muted); font-size:.71rem; }
#v3-v32-cases .history-card-copy strong {
  font:850 1.05rem/1.5 var(--ui03-serif); color:var(--ui03-ink); overflow-wrap:anywhere; white-space:pre-wrap;
}
#v3-v32-cases .history-card-meta { display:flex; gap:3px 12px; flex-wrap:wrap; color:var(--ui03-muted); overflow-wrap:anywhere; }
#v3-v32-cases .history-card-arrow { color:var(--ui03-wine); }
#v3-v32-cases .history-card-bottom {
  display:flex; justify-content:space-between; align-items:center; border-top:1px dashed #e8d9cc;
  color:var(--ui03-muted); font-size:.73rem;
}
#v3-v32-cases .v35-history-delete { min-height:44px; padding:5px 8px; border:0; background:none; color:#83574e; }

.app:has(.v3-screen.active > .ui03-head) :is(.bottom-nav,.desktop-nav) {
  background:#fffcf9f5; border-color:#eadbd0;
}
.app:has(.v3-screen.active > .ui03-head) :is(.bottom-nav,.desktop-nav) button {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:44px; gap:3px; border:0; background:transparent; color:#79645a;
  font:700 .72rem/1.25 var(--ui03-sans);
}
.app:has(.v3-screen.active > .ui03-head) :is(.bottom-nav,.desktop-nav) button.active,
.app:has(#v3-v32-cases.active) .desktop-nav button[data-v3screen="cases"] { color:var(--ui03-wine); }
.app:has(#v3-v32-cases.active) .desktop-nav button.active:not([data-v3screen="cases"]) { color:#79645a; }
.app:has(.v3-screen.active > .ui03-head) :is(.bottom-nav,.desktop-nav) .v5-nav-icon { display:block; width:21px; height:21px; stroke-width:1.7; }
.app:has(.v3-screen.active > .ui03-head) :is(.bottom-nav,.desktop-nav) .v5-nav-caption { display:block; }
.app:has(.v3-screen.active > .ui03-head) :is(.bottom-nav,.desktop-nav) .v5-nav-original { display:none; }

#v3-quick:has(> .ui03-summons-hero) { max-width:520px; padding:23px 0 16px; }
.ui03-summons-hero {
  position:relative; overflow:hidden; margin:0 0 19px; padding:17px 18px;
  border:1px solid #e6c8c0; border-radius:20px; background:#f3e0dc; color:var(--ui03-wine);
}
.ui03-summons-hero::after {
  content:"✉"; position:absolute; right:17px; top:0; transform:rotate(14deg);
  color:#c78f8877; font-size:4rem; pointer-events:none;
}
.ui03-summons-hero small { font:italic .72rem/1.4 Georgia,serif; letter-spacing:.08em; }
.ui03-summons-hero h2 { margin:6px 0; font:900 clamp(23px,6vw,28px)/1.4 var(--ui03-serif); }
.ui03-summons-hero p { margin:0; color:#785854; font-size:.8rem; }
#v3-quick .ui03-summons-form { padding:0; border:0; background:none; }
.ui03-summons-form .quick-fields { display:grid; gap:11px; margin:0; }
.ui03-summons-form .quick-fields > label {
  min-width:0; padding:12px 14px; border:1px solid var(--ui03-line); border-radius:16px;
  color:var(--ui03-ink); background:var(--ui03-paper); font-weight:750;
}
.ui03-summons-form .quick-fields > label[hidden] { display:none; }
.ui03-summons-form :is(input,textarea,select) {
  width:100%; min-width:0; min-height:44px; padding:8px 10px;
  border:1px solid #e5d5ca; border-radius:10px; background:#fcf7f1; color:var(--ui03-ink);
  font:400 1rem/1.5 var(--ui03-sans); scroll-margin-block:16px 80px;
}
.ui03-summons-form textarea { min-height:72px; max-height:13rem; field-sizing:content; resize:vertical; overflow-y:auto; }
.ui03-summons-note { text-align:center; margin:2px 0 0; color:var(--ui03-muted); font-size:.79rem; }
.ui03-summons-form [data-quick-save-status]:empty { display:none; }
.ui03-summons-form .ui03-primary {
  min-height:48px; border:1px solid var(--ui03-wine); border-radius:13px;
  background:var(--ui03-wine); color:white; font-weight:750; box-shadow:0 4px 0 #6b2c3d;
}
.ui03-summons-form .ui03-primary:hover { background:#702b3e; }
#v3-v32-result:has(> .ui03-head), #v3-quick:has(> .ui03-preview-intro) { padding-top:23px; }
.ui03-preview-intro { margin:0 0 18px; color:var(--ui03-ink); overflow-wrap:anywhere; }
.ui03-preview-intro h2 { margin:0; font:900 clamp(23px,6vw,30px)/1.4 var(--ui03-serif); white-space:pre-wrap; }
.ui03-preview-intro p { margin:4px 0 0; color:var(--ui03-muted); font-size:.8rem; }
.ui03-preview-intro .ui03-type {
  display:inline-block; margin:0 0 7px; padding:4px 9px; border-radius:999px;
  background:#f3dfe3; color:var(--ui03-wine); font-weight:750;
}
.ui03-paper {
  min-width:0; padding:11px 0; border-radius:15px;
  background:#eee3d7; box-shadow:0 0 0 1px #dfc9b9;
}
.ui03-paper-label {
  display:flex; justify-content:space-between; gap:8px; align-items:center;
  margin:0 0 10px; padding-inline:10px;
  color:#785c4a; font:italic .73rem/1.4 Georgia,serif; letter-spacing:.07em;
}
.ui03-paper-label span {
  border-radius:6px; padding:4px 6px; background:#f8f0e6;
  color:var(--ui03-muted); font:700 .69rem/1.3 var(--ui03-sans);
}
.ui03-operations {
  min-width:0; padding:14px; margin:0; border:1px solid var(--ui03-line); border-radius:17px;
  background:var(--ui03-paper); color:var(--ui03-ink);
}
#v3-v32-result .ui03-operations { margin-top:17px; }
.ui03-operations > h3 { margin:0 0 10px; font:750 .94rem/1.4 var(--ui03-sans); }
#v3-v32-result .ui03-operations .v32-result-bar, .ui03-operations .ui03-quick-actions {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 0 10px;
}
.ui03-operations :is(.v32-result-bar,.ui03-quick-actions) button {
  width:100%; min-width:0; min-height:46px; padding:7px; border:1px solid #d8b7ae; border-radius:12px;
  background:#fffaf4; color:var(--ui03-wine); font:750 .85rem/1.4 var(--ui03-sans);
}
.ui03-operations :is(.v32-result-bar,.ui03-quick-actions) :is([data-nine-export],[data-v323export],[data-v31action="quick-export"]) {
  grid-column:1/-1; grid-row:1; background:var(--ui03-wine); border-color:var(--ui03-wine);
  color:white; box-shadow:0 3px 0 #6b2c3d;
}
.ui03-operations .ui03-preview-links { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.ui03-preview-links button { min-height:44px; color:var(--ui03-muted); }
.v3-screen:has(> .ui03-head) :is(button,input,textarea,select):focus-visible { outline:2px solid #ad6573; outline-offset:2px; }
@media(max-width:767px) {
  .app:has(.v3-screen.active > .ui03-head) > .topbar { display:none; }
  .app:has(.ui03-summons-form :is(input,textarea):focus) > .bottom-nav { position:static; }
}

#v323-confirm-dialog {
  place-items:center; padding:16px; background:#37252a9e; backdrop-filter:blur(3px);
}
#v323-confirm-dialog .v323-dialog-card {
  position:relative; width:min(100%,370px); padding:23px 20px 20px;
  border:1px solid #e9d4c4; border-radius:22px; background:var(--ui03-paper);
  box-shadow:0 20px 60px #241b1f4d; color:var(--ui03-ink); text-align:center;
}
#v323-confirm-dialog .v323-dialog-card::before {
  content:""; position:absolute; inset:7px; border:1px solid #f2e4d9; border-radius:16px; pointer-events:none;
}
#v323-confirm-dialog .v323-dialog-head { display:block; margin:0; }
#v323-confirm-dialog h2 { margin:0 26px 10px; font:900 1.32rem/1.4 var(--ui03-serif); }
#v323-confirm-dialog h2::before { content:"✳"; display:block; margin-bottom:7px; color:#a2596d; font:1.48rem/1 var(--ui03-sans); }
#v323-confirm-dialog .v323-dialog-close {
  position:absolute; top:8px; right:8px; width:44px; height:44px; color:var(--ui03-muted);
}
#v323-confirm-dialog .v323-confirm-copy { margin:0 0 15px; color:var(--ui03-muted); line-height:1.7; overflow-wrap:anywhere; }
#v323-confirm-dialog .v3-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0; }
#v323-confirm-dialog .v3-actions button {
  min-height:46px; padding:6px 8px; border:1px solid #d8b7ae; border-radius:12px;
  background:#fffaf4; color:var(--ui03-wine); font-weight:750;
}
#v323-confirm-dialog .v3-actions [data-v323action="accept-confirm"] { background:var(--ui03-wine); border-color:var(--ui03-wine); color:#fff; }
#v323-confirm-dialog button:focus-visible { outline:2px solid #ad6573; outline-offset:2px; }
.v3-toast {
  max-width:min(420px,calc(100% - 26px)); width:max-content; padding:11px 16px;
  border:1px solid transparent; border-radius:15px; background:#493740; color:#fff8ed;
  font:600 .81rem/1.55 var(--ui03-sans); overflow-wrap:anywhere; box-shadow:0 8px 24px #2e22222c;
}
.v3-toast[data-ui03-tone="success"] { color:#365641; border-color:#cbdccf; background:#edf5ee; }
.v3-toast[data-ui03-tone="warning"] { color:#704b34; border-color:#e9d1b7; background:#fff3e4; }
.v3-toast[data-ui03-tone="error"] { color:#7f3749; border-color:#e4bcc4; background:#fbe9eb; }
.ui03-operations [data-ui03-status]:not(:empty), .ui03-summons-form [data-ui03-status]:not(:empty) {
  display:inline-block; width:fit-content; max-width:100%; margin:0; padding:5px 9px;
  border-radius:9px; font:650 .75rem/1.45 var(--ui03-sans);
}
.ui03-operations [data-ui03-status="success"] { color:#365641; background:#edf5ee; }
:is(.ui03-operations,.ui03-summons-form) [data-ui03-status="error"] { color:#7f3749; background:#fbe9eb; }

.wechat-png-preview { background:#37252ac7; }
.wechat-png-preview .v323-dialog-card {
  width:min(720px,100%); max-height:90vh; max-height:90dvh; box-sizing:border-box; overscroll-behavior:contain;
}
.wechat-png-preview .v323-dialog-head { margin-bottom:4px; }
.wechat-png-help { margin:0 0 12px; color:var(--ui03-muted); font:.85rem/1.6 var(--ui03-sans); }
.wechat-png-image img {
  display:block; width:auto; max-width:100%; height:auto; margin:auto; background:#fff; -webkit-touch-callout:default;
}
.wechat-png-pages:not([hidden]) {
  display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px;
}
.wechat-png-pages button {
  min-height:44px; padding:6px 12px; border:1px solid #d8b7ae; border-radius:10px;
  background:#fffaf4; color:var(--ui03-wine);
}
.wechat-png-pages button:disabled { opacity:.45; }
.wechat-png-error { color:#7f3749; }
