
[data-tool-root="wedding-invitation-maker"]{--bg:#fff;--work:#f2f2f2;--surface:#fff;--border:#ddd;--strong:#222;--text:#111;--text2:#444;--text3:#666;--danger:#a12424;--success:#276749;--radius:6px;color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
[data-tool-root="wedding-invitation-maker"] *,[data-tool-root="wedding-invitation-maker"] *::before,[data-tool-root="wedding-invitation-maker"] *::after{box-sizing:border-box}
[data-tool-root="wedding-invitation-maker"] .tool-page-header h1{margin:0 0 10px;font-size:clamp(30px,4vw,44px);line-height:1.16;letter-spacing:-.025em}
[data-tool-root="wedding-invitation-maker"] .page-description{margin:0;max-width:76ch;color:var(--text2);font-size:16px;line-height:1.6}
[data-tool-root="wedding-invitation-maker"] .tool-page-divider{height:1px;margin:18px 0 24px;background:var(--border)}
[data-tool-root="wedding-invitation-maker"] .workspace{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:16px;padding:16px;background:var(--work);border:1px solid var(--border);border-radius:var(--radius)}
[data-tool-root="wedding-invitation-maker"] .controls,[data-tool-root="wedding-invitation-maker"] .results{min-width:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}
[data-tool-root="wedding-invitation-maker"] .controls{padding:18px}[data-tool-root="wedding-invitation-maker"] .results{overflow:hidden}
[data-tool-root="wedding-invitation-maker"] .section+.section{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
[data-tool-root="wedding-invitation-maker"] .section h3{margin:0 0 12px;font-size:15px;line-height:1.35}
[data-tool-root="wedding-invitation-maker"] .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}[data-tool-root="wedding-invitation-maker"] .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
[data-tool-root="wedding-invitation-maker"] .field{display:grid;gap:6px;min-width:0}[data-tool-root="wedding-invitation-maker"] .field+.field{margin-top:10px}[data-tool-root="wedding-invitation-maker"] .grid2 .field+.field,[data-tool-root="wedding-invitation-maker"] .grid3 .field+.field{margin-top:0}
[data-tool-root="wedding-invitation-maker"] .field>span,[data-tool-root="wedding-invitation-maker"] .label{font-size:13px;font-weight:700;color:var(--text2)}
[data-tool-root="wedding-invitation-maker"] input,[data-tool-root="wedding-invitation-maker"] select,[data-tool-root="wedding-invitation-maker"] textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);font:inherit;font-size:14px;outline:none}
[data-tool-root="wedding-invitation-maker"] input,[data-tool-root="wedding-invitation-maker"] select{height:44px;padding:0 10px}[data-tool-root="wedding-invitation-maker"] textarea{padding:10px;resize:vertical;line-height:1.5}
[data-tool-root="wedding-invitation-maker"] input[type=checkbox]{width:18px;height:18px;padding:0}
[data-tool-root="wedding-invitation-maker"] input:focus,[data-tool-root="wedding-invitation-maker"] select:focus,[data-tool-root="wedding-invitation-maker"] textarea:focus,[data-tool-root="wedding-invitation-maker"] button:focus-visible,[data-tool-root="wedding-invitation-maker"] summary:focus-visible{border-color:var(--strong);box-shadow:0 0 0 3px rgba(17,17,17,.14);outline:none}
[data-tool-root="wedding-invitation-maker"] .check{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--text2)}
[data-tool-root="wedding-invitation-maker"] .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}[data-tool-root="wedding-invitation-maker"] .btn{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:#fff;color:#111;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
[data-tool-root="wedding-invitation-maker"] .btn:hover{background:#eee}[data-tool-root="wedding-invitation-maker"] .btn.primary{background:#111;border-color:#111;color:#fff}[data-tool-root="wedding-invitation-maker"] .btn.danger{color:var(--danger)}[data-tool-root="wedding-invitation-maker"] .btn:disabled{opacity:.45;cursor:not-allowed}
[data-tool-root="wedding-invitation-maker"] .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}[data-tool-root="wedding-invitation-maker"] .toolbar-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
[data-tool-root="wedding-invitation-maker"] .summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-bottom:1px solid var(--border)}[data-tool-root="wedding-invitation-maker"] .summary>div{padding:12px 14px;min-width:0}[data-tool-root="wedding-invitation-maker"] .summary>div+div{border-left:1px solid var(--border)}[data-tool-root="wedding-invitation-maker"] .summary dt{font-size:12px;font-weight:700;color:var(--text3)}[data-tool-root="wedding-invitation-maker"] .summary dd{margin:5px 0 0;font-size:20px;font-weight:800;overflow-wrap:anywhere}
[data-tool-root="wedding-invitation-maker"] .stage{padding:18px;min-height:330px;background:#fff}[data-tool-root="wedding-invitation-maker"] .empty{display:grid;place-items:center;min-height:280px;border:1px dashed #ccc;border-radius:4px;color:var(--text3);text-align:center;padding:24px}
[data-tool-root="wedding-invitation-maker"] table{width:100%;border-collapse:collapse;font-size:14px}[data-tool-root="wedding-invitation-maker"] th,[data-tool-root="wedding-invitation-maker"] td{padding:9px 8px;border-bottom:1px solid #e4e4e4;text-align:left;vertical-align:top}[data-tool-root="wedding-invitation-maker"] th{font-size:12px;color:var(--text3)}
[data-tool-root="wedding-invitation-maker"] .table-wrap{overflow:auto;border:1px solid var(--border);border-radius:4px}[data-tool-root="wedding-invitation-maker"] .pill{display:inline-block;padding:3px 7px;border:1px solid #ccc;border-radius:999px;font-size:12px;font-weight:700}
[data-tool-root="wedding-invitation-maker"] .status{min-height:20px;margin:10px 0 0;color:var(--text3);font-size:13px;line-height:1.45}[data-tool-root="wedding-invitation-maker"] .status.error{color:var(--danger)}[data-tool-root="wedding-invitation-maker"] .status.success{color:var(--success)}
[data-tool-root="wedding-invitation-maker"] .seg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;background:#f2f2f2;border:1px solid var(--border);border-radius:6px}[data-tool-root="wedding-invitation-maker"] .seg button{min-height:38px;border:0;border-radius:4px;background:transparent;font:inherit;font-size:13px;font-weight:700;cursor:pointer}[data-tool-root="wedding-invitation-maker"] .seg button.active{background:#111;color:#fff}
[data-tool-root="wedding-invitation-maker"] .style-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}[data-tool-root="wedding-invitation-maker"] .style-btn{min-height:44px;padding:8px;border:1px solid var(--border);border-radius:5px;background:#fff;text-align:left;font:inherit;font-size:13px;font-weight:700;cursor:pointer}[data-tool-root="wedding-invitation-maker"] .style-btn.active{border-color:#222;box-shadow:inset 0 0 0 1px #222}
[data-tool-root="wedding-invitation-maker"] .info{margin-top:28px}[data-tool-root="wedding-invitation-maker"] .info h2{margin:0 0 12px;font-size:24px}[data-tool-root="wedding-invitation-maker"] .card{border:1px solid var(--border);border-radius:var(--radius);background:#fff}[data-tool-root="wedding-invitation-maker"] details+details{border-top:1px solid var(--border)}[data-tool-root="wedding-invitation-maker"] summary{padding:13px 15px;font-weight:750;cursor:pointer}[data-tool-root="wedding-invitation-maker"] details>div{padding:0 15px 15px;color:var(--text2);font-size:15px;line-height:1.65}
[data-tool-root="wedding-invitation-maker"] .metric{display:grid;gap:3px;padding:12px;border:1px solid #ddd;border-radius:4px;background:#fbfbfb}[data-tool-root="wedding-invitation-maker"] .metric small{font-size:12px;color:#666}[data-tool-root="wedding-invitation-maker"] .metric strong{font-size:22px}
[data-tool-root="wedding-invitation-maker"] .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
[data-tool-root="wedding-invitation-maker"] .print-card{margin:auto;background:var(--paper,#fff);color:var(--ink,#111);border:1px solid #d5d5d5;box-shadow:0 10px 25px rgba(0,0,0,.06);padding:8%;overflow:hidden}
[data-tool-root="wedding-invitation-maker"][data-theme=editorial] .print-card{font-family:Georgia,serif;letter-spacing:.01em}[data-tool-root="wedding-invitation-maker"][data-theme=botanical] .print-card{--ink:#24342a;--paper:#f8fbf7;border-color:#b8c5b8}[data-tool-root="wedding-invitation-maker"][data-theme=champagne] .print-card{--ink:#4c443a;--paper:#fffaf1;border-color:#d7c5a7}[data-tool-root="wedding-invitation-maker"][data-theme=blush] .print-card{--ink:#5b454b;--paper:#fff8fa;border-color:#dbc5cb}[data-tool-root="wedding-invitation-maker"][data-theme=midnight] .print-card{--ink:#f7f2e9;--paper:#161616;border-color:#333}
[data-tool-root="wedding-invitation-maker"] .print-card .eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase}[data-tool-root="wedding-invitation-maker"] .print-card h3{font-size:clamp(26px,4vw,50px);margin:10px 0;line-height:1.1}[data-tool-root="wedding-invitation-maker"] .print-card .rule{height:1px;background:currentColor;opacity:.25;margin:18px 0}[data-tool-root="wedding-invitation-maker"] .print-card p{line-height:1.55}
[data-tool-root="wedding-invitation-maker"] .list{display:grid;gap:8px}[data-tool-root="wedding-invitation-maker"] .list-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px;border:1px solid #ddd;border-radius:4px;background:#fff}[data-tool-root="wedding-invitation-maker"] .list-row label{font-size:14px;line-height:1.4}
[data-tool-root="wedding-invitation-maker"] .timeline{position:relative;display:grid;gap:0}[data-tool-root="wedding-invitation-maker"] .timeline:before{content:"";position:absolute;left:72px;top:14px;bottom:14px;width:1px;background:#ccc}[data-tool-root="wedding-invitation-maker"] .time-row{display:grid;grid-template-columns:58px 28px 1fr;gap:8px;align-items:start;padding:9px 0}[data-tool-root="wedding-invitation-maker"] .time-row time{font-size:13px;font-weight:800;text-align:right}[data-tool-root="wedding-invitation-maker"] .dot{width:10px;height:10px;border-radius:50%;background:#111;margin:4px auto;z-index:1}[data-tool-root="wedding-invitation-maker"] .time-row strong{font-size:14px}[data-tool-root="wedding-invitation-maker"] .time-row p{margin:3px 0 0;color:#666;font-size:13px}
[data-tool-root="wedding-invitation-maker"] .qr-wrap{display:grid;place-items:center;min-height:180px}[data-tool-root="wedding-invitation-maker"] .qr-wrap svg{max-width:180px;height:auto;background:#fff;padding:8px}
@media(max-width:900px){[data-tool-root="wedding-invitation-maker"] .workspace{grid-template-columns:1fr}}
@media(max-width:720px){[data-tool-root="wedding-invitation-maker"] .grid2,[data-tool-root="wedding-invitation-maker"] .grid3,[data-tool-root="wedding-invitation-maker"] .metrics{grid-template-columns:1fr}[data-tool-root="wedding-invitation-maker"] .summary{grid-template-columns:1fr 1fr}[data-tool-root="wedding-invitation-maker"] .summary>div:nth-child(3){border-left:0}[data-tool-root="wedding-invitation-maker"] .summary>div:nth-child(n+3){border-top:1px solid var(--border)}}
@media(max-width:430px){[data-tool-root="wedding-invitation-maker"] .style-grid,[data-tool-root="wedding-invitation-maker"] .seg{grid-template-columns:1fr}[data-tool-root="wedding-invitation-maker"] .toolbar{align-items:flex-start;flex-direction:column}[data-tool-root="wedding-invitation-maker"] .toolbar-actions{justify-content:flex-start}[data-tool-root="wedding-invitation-maker"] .summary{grid-template-columns:1fr}[data-tool-root="wedding-invitation-maker"] .summary>div+div{border-left:0;border-top:1px solid var(--border)}}
@media print{[data-tool-root="wedding-invitation-maker"] .controls,[data-tool-root="wedding-invitation-maker"] .toolbar,[data-tool-root="wedding-invitation-maker"] .info,[data-tool-root="wedding-invitation-maker"] .summary{display:none!important}[data-tool-root="wedding-invitation-maker"] .workspace,[data-tool-root="wedding-invitation-maker"] .results,[data-tool-root="wedding-invitation-maker"] .stage{border:0!important;padding:0!important;margin:0!important;background:#fff!important}[data-tool-root="wedding-invitation-maker"] .workspace{display:block!important}[data-tool-root="wedding-invitation-maker"] .print-card{box-shadow:none!important;border:0!important}}

/* ChaosLens v2.4.4 visual-contract correction: fixed desktop gutters + restrained auxiliary color */
[data-tool-root="wedding-invitation-maker"] {
  --tool-accent:#8b7043;
  --tool-accent-soft:#f8f4ec;
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:24px 360px 48px 30px;
  font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
[data-tool-root="wedding-invitation-maker"] .summary > div:first-child dd,
[data-tool-root="wedding-invitation-maker"] .cl-summary > div:first-child dd,
[data-tool-root="wedding-invitation-maker"] .metric:first-child strong,
[data-tool-root="wedding-invitation-maker"] .cl-metric:first-child strong { color:var(--tool-accent); }
[data-tool-root="wedding-invitation-maker"] .pill,
[data-tool-root="wedding-invitation-maker"] .cl-badge { border-color:var(--tool-accent); background:var(--tool-accent-soft); }
[data-tool-root="wedding-invitation-maker"] .style-btn.active,
[data-tool-root="wedding-invitation-maker"] .cl-style.is-active { border-color:var(--tool-accent); box-shadow:inset 0 0 0 1px var(--tool-accent); }
[data-tool-root="wedding-invitation-maker"] .timeline .dot { background:var(--tool-accent); }
[data-tool-root="wedding-invitation-maker"] .cl-note { border-left-color:var(--tool-accent); }
@media (min-width:721px) and (max-width:900px) {
  [data-tool-root="wedding-invitation-maker"] {padding-left:8px;padding-right:8px;}
  [data-tool-root="wedding-invitation-maker"] .workspace {grid-template-columns:minmax(300px,390px) minmax(0,1fr);}
  [data-tool-root="wedding-invitation-maker"] .cl-workspace {grid-template-columns:330px minmax(0,1fr);}
}
@media (max-width:720px) {
  [data-tool-root="wedding-invitation-maker"] {padding-left:8px;padding-right:8px;padding-top:16px;padding-bottom:32px;}
  [data-tool-root="wedding-invitation-maker"] .workspace,
  [data-tool-root="wedding-invitation-maker"] .cl-workspace {grid-template-columns:1fr;}
}
@media (max-width:430px) {
  [data-tool-root="wedding-invitation-maker"] {padding-left:8px;padding-right:8px;}
}

@media print {
  [data-tool-root="wedding-invitation-maker"] {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* 2026-08-10 comprehensive visual/input re-audit */
[data-tool-root="wedding-invitation-maker"] {
  --tool-accent:#8b7043;
  --tool-accent-soft:#f7f3eb;
}
[data-tool-root="wedding-invitation-maker"] .tool-page-header h1 {
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:-.5px !important;
}
[data-tool-root="wedding-invitation-maker"] .info h2,
[data-tool-root="wedding-invitation-maker"] .cl-info h2 {
  margin:0 0 12px !important;
  padding-left:12px !important;
  border-left:3px solid #111 !important;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}
/* Input/result outer surfaces are gray; actual controls/results stay white. */
[data-tool-root="wedding-invitation-maker"] .controls,
[data-tool-root="wedding-invitation-maker"] .results,
[data-tool-root="wedding-invitation-maker"] .cl-controls,
[data-tool-root="wedding-invitation-maker"] .cl-results {
  background:#f2f2f2 !important;
}
[data-tool-root="wedding-invitation-maker"] .stage,
[data-tool-root="wedding-invitation-maker"] .cl-stage {
  background:#fff;
}
[data-tool-root="wedding-invitation-maker"] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
[data-tool-root="wedding-invitation-maker"] select,
[data-tool-root="wedding-invitation-maker"] textarea {
  min-height:44px;
  border:1px solid #bfbfbf !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:15px !important;
  box-shadow:none !important;
}
[data-tool-root="wedding-invitation-maker"] textarea { min-height:96px; }
[data-tool-root="wedding-invitation-maker"] input::placeholder,
[data-tool-root="wedding-invitation-maker"] textarea::placeholder { color:#999; opacity:1; }
[data-tool-root="wedding-invitation-maker"] input[type="number"] { font-variant-numeric:tabular-nums; }
[data-tool-root="wedding-invitation-maker"] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
[data-tool-root="wedding-invitation-maker"] select:focus,
[data-tool-root="wedding-invitation-maker"] textarea:focus,
[data-tool-root="wedding-invitation-maker"] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus-visible,
[data-tool-root="wedding-invitation-maker"] select:focus-visible,
[data-tool-root="wedding-invitation-maker"] textarea:focus-visible {
  border-color:#222 !important;
  outline:2px solid #111 !important;
  outline-offset:2px !important;
  box-shadow:none !important;
}
[data-tool-root="wedding-invitation-maker"] button:focus-visible,
[data-tool-root="wedding-invitation-maker"] summary:focus-visible,
[data-tool-root="wedding-invitation-maker"] a:focus-visible,
[data-tool-root="wedding-invitation-maker"] [tabindex]:focus-visible {
  outline:2px solid #111 !important;
  outline-offset:2px !important;
  box-shadow:none !important;
}
[data-tool-root="wedding-invitation-maker"] input[aria-invalid="true"],
[data-tool-root="wedding-invitation-maker"] select[aria-invalid="true"],
[data-tool-root="wedding-invitation-maker"] textarea[aria-invalid="true"] { border-color:#a12424 !important; }
[data-tool-root="wedding-invitation-maker"] input:disabled,
[data-tool-root="wedding-invitation-maker"] select:disabled,
[data-tool-root="wedding-invitation-maker"] textarea:disabled { background:#eee !important;color:#999 !important;cursor:not-allowed; }
[data-tool-root="wedding-invitation-maker"] input[readonly],
[data-tool-root="wedding-invitation-maker"] textarea[readonly] { background:#fbfbfb !important;color:#444 !important; }
[data-tool-root="wedding-invitation-maker"] .btn,
[data-tool-root="wedding-invitation-maker"] .cl-btn,
[data-tool-root="wedding-invitation-maker"] .style-btn,
[data-tool-root="wedding-invitation-maker"] .cl-style { border-radius:6px !important; }
[data-tool-root="wedding-invitation-maker"] .btn:hover,
[data-tool-root="wedding-invitation-maker"] .cl-btn:hover { background:#eee; }
[data-tool-root="wedding-invitation-maker"] .style-btn.active,
[data-tool-root="wedding-invitation-maker"] .cl-style.is-active {
  border-color:var(--tool-accent) !important;
  background:var(--tool-accent-soft) !important;
  box-shadow:none !important;
}
[data-tool-root="wedding-invitation-maker"] table thead th { background:#f7f7f7 !important; }
[data-tool-root="wedding-invitation-maker"] table tbody tr:nth-child(even) { background:#fbfbfb; }
[data-tool-root="wedding-invitation-maker"] table tbody tr:hover { background:#f2f2f2; }
[data-tool-root="wedding-invitation-maker"] table th,
[data-tool-root="wedding-invitation-maker"] table td { padding:11px 12px; }
[data-tool-root="wedding-invitation-maker"] summary:hover { background:#f7f7f7; }
[data-tool-root="wedding-invitation-maker"] .pill,
[data-tool-root="wedding-invitation-maker"] .cl-badge { border-color:var(--tool-accent);background:var(--tool-accent-soft); }
