.ct-root { --ct-ink:#192b30; --ct-paper:#fffdf8; --ct-line:#c1cdca; --ct-accent:#1c6154; font:16px/1.5 system-ui,sans-serif; color:var(--ct-ink); }
.ct-root *, .ct-root *::before, .ct-root *::after { box-sizing:border-box; }
.ct-root button, .ct-root a, .ct-root input { -webkit-tap-highlight-color:transparent; }
.ct-root button { font:inherit; cursor:pointer; min-height:46px; padding:10px 16px; border:1px solid var(--ct-ink); border-radius:6px; color:var(--ct-ink); background:var(--ct-paper); }
.ct-root button:disabled { cursor:wait; opacity:.65; }
.ct-root :focus-visible { outline:3px solid var(--ct-accent); outline-offset:3px; }
.ct-root ::selection { background:#c2e2d7; }
.ct-root .ct-settings { position:fixed; z-index:10000; bottom:16px; left:16px; box-shadow:0 3px 12px #192b301c; font-size:14px; }
.ct-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:28px; background:var(--ct-paper); color:var(--ct-ink); border:1px solid var(--ct-line); border-radius:12px; box-shadow:0 18px 64px #172d3440; overscroll-behavior:contain; }
.ct-dialog::backdrop { background:#10202580; }
.ct-dialog form { display:flex; flex-direction:column; max-height:calc(100dvh - 90px); }
.ct-content { overflow-y:auto; min-height:0; scrollbar-color:var(--ct-line) var(--ct-paper); padding:3px; margin:0 -3px 12px; }
.ct-dialog header, .ct-actions, .ct-dialog footer { flex-shrink:0; }
.ct-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.ct-dialog h2 { font-size:27px; line-height:1.2; margin:4px 0 16px; letter-spacing:-.02em; }
.ct-root .ct-close { min-height:44px; padding:8px; border:0; text-decoration:underline; text-underline-offset:3px; font-size:14px; }
.ct-dialog p { margin:0 0 16px; }
.ct-controller, .ct-required { font-size:14px; color:#405955; }
.ct-categories { margin:20px 0; border-top:1px solid var(--ct-line); }
.ct-categories .ct-required { padding-top:14px; }
.ct-categories label { display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-top:1px solid var(--ct-line); cursor:pointer; }
.ct-categories input { width:22px; height:22px; margin:3px 0 0; flex:none; accent-color:var(--ct-accent); }
.ct-categories strong, .ct-categories span span, .ct-categories small { display:block; }
.ct-dialog h2, .ct-categories strong { color:var(--ct-ink); }
.ct-categories small { color:#405955; margin-top:6px; }
.ct-notice { min-height:44px; font-size:14px; }
.ct-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ct-actions [data-choice="custom"] { grid-column:1/-1; border-color:var(--ct-line); }
.ct-dialog footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; padding:0; border:0; text-align:left; font-size:14px; line-height:1.5; }
.ct-root a { color:var(--ct-accent); text-underline-offset:3px; }
.ct-root .ct-withdraw { font-size:14px; border:0; padding:8px 0; text-decoration:underline; text-underline-offset:3px; }
@media (hover:hover) { .ct-root button:hover:not(:disabled) { background:#eaf2ed; } }
@media (max-width:460px) { .ct-dialog { padding:20px; }.ct-dialog h2 { font-size:24px; }.ct-actions { grid-template-columns:1fr; }.ct-actions [data-choice="custom"] { grid-column:auto; } }
