.ct-hero{padding:clamp(36px,5vw,64px) 0 clamp(28px,4vw,40px);background:radial-gradient(900px 420px at 50% -80px,color-mix(in srgb,var(--acc) 8%,transparent),transparent 70%),linear-gradient(180deg,var(--surface) 0,var(--bg) 100%);border-bottom:1px solid var(--border)}.ct-hero .container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.ct-h1{font-size:clamp(34px,4.8vw,56px);font-weight:700;line-height:1.04;letter-spacing:-.04em}.ct-tool-wrap{padding:clamp(28px,4vw,48px) 0 clamp(56px,7vw,88px);background:var(--bg)}.ct-tool{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.ct-form{gap:14px}.ct-form,.ct-form fieldset{display:flex;flex-direction:column}.ct-form fieldset{margin:0;padding:18px;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}.ct-form legend{float:left;width:100%;padding:0;font-size:var(--fs-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.ct-field{display:flex;flex-direction:column;gap:5px;min-width:0}.ct-label{font-size:var(--fs-xs);font-weight:var(--weight-medium);color:var(--text-2)}.ct-hint{font-size:var(--fs-2xs);color:var(--text-3);line-height:1.4}.ct-form input:not([type=checkbox]),.ct-form select,.ct-form textarea{width:100%;min-width:0;height:36px;padding:0 10px;font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.ct-form textarea{height:auto;padding:8px 10px;line-height:1.5;resize:vertical}.ct-form input::placeholder,.ct-form textarea::placeholder{color:var(--text-4)}.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:var(--acc);box-shadow:var(--ring)}.ct-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ct-row--3{grid-template-columns:1fr 1fr 1fr}.ct-row--fee{grid-template-columns:1.1fr .8fr 1.1fr}.ct-deliv{display:grid;grid-template-columns:64px 1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}.ct-x{width:30px;height:30px;font-size:18px;line-height:1;color:var(--text-3);background:none;border:none;border-radius:var(--r-sm);cursor:pointer}.ct-x:hover{color:var(--text);background:var(--surface-active)}.ct-add{align-self:flex-start;padding:4px 0;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--weight-medium);color:var(--acc-text);background:none;border:none;cursor:pointer}.ct-add:hover{text-decoration:underline}.ct-check{display:flex;align-items:center;gap:9px;font-size:var(--fs-sm);color:var(--text);cursor:pointer}.ct-check input{width:16px;height:16px;margin:0;accent-color:var(--acc);flex:none}.ct-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ct-mini{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-2)}.ct-form .ct-mini input{width:56px;height:30px}.ct-form .ct-mini select{width:auto;height:30px}.ct-form-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.ct-reset{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--text-3);background:none;border:none;cursor:pointer}.ct-reset:hover{color:var(--text);text-decoration:underline}.ct-preview{position:-webkit-sticky;position:sticky;top:76px;display:flex;flex-direction:column;gap:10px;min-width:0}.ct-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.ct-paper{max-height:calc(100vh - 150px);overflow:auto;padding:clamp(24px,4vw,48px);font-size:var(--fs-base);line-height:1.6;color:var(--gray-700);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-md)}.ct-title{font-size:22px;font-weight:var(--weight-bold);letter-spacing:-.02em;color:var(--text)}.ct-date{margin-top:4px;font-size:var(--fs-sm);color:var(--text-3)}.ct-intro{margin-top:22px}.ct-party{margin-top:8px;padding-left:14px;border-left:2px solid var(--border-strong);color:var(--text)}.ct-secs{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:18px}.ct-secs h3{font-size:var(--fs-md);font-weight:var(--weight-semibold);color:var(--text)}.ct-secs p{margin-top:6px;text-wrap:pretty;white-space:pre-line}.ct-secs ul{margin:8px 0 0;padding-left:20px}.ct-secs ul li{margin-top:4px;color:var(--text)}.ct-sigs{margin-top:32px;padding-top:22px;border-top:1px solid var(--border)}.ct-sigs h3{font-size:var(--fs-md);font-weight:var(--weight-semibold);color:var(--text)}.ct-sig-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:14px}.ct-sig{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}.ct-sig b{font-weight:var(--weight-semibold);color:var(--text)}.ct-sig-line{height:40px;border-bottom:1px solid var(--gray-400);margin-bottom:6px}.ct-note{font-size:var(--fs-xs);color:var(--text-3);text-align:center}.ct-clauses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.ct-clause{padding:22px 24px;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.ct-clause h3{font-size:var(--fs-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.ct-clause p{font-size:var(--fs-sm);line-height:1.6;color:var(--text-2);text-wrap:pretty}@media (max-width:960px){.ct-tool{grid-template-columns:1fr}.ct-preview{position:static}.ct-paper{max-height:none}.ct-actions{justify-content:flex-start}}@media (max-width:560px){.ct-row,.ct-row--3,.ct-row--fee{grid-template-columns:1fr}.ct-deliv{grid-template-columns:56px 1fr 1fr auto}.ct-clauses,.ct-sig-grid{grid-template-columns:1fr}.ct-form fieldset{padding:16px}}@media print{.ct-actions,.ct-form,.ct-note,.ct-page>:not(.ct-tool-wrap){display:none!important}.ct-tool-wrap{padding:0;background:none}.ct-tool-wrap .container{max-width:none;padding:0}.ct-tool{display:block}.ct-preview{position:static}.ct-paper{max-height:none;overflow:visible;padding:0;border:none;border-radius:0;box-shadow:none;color:#000}.ct-secs li,.ct-sigs{page-break-inside:avoid;break-inside:avoid}}