.kct-shell { display: grid; gap: 20px; max-width: 1120px; }
.kct-card { padding: 24px; border: 1px solid var(--border, #c7d0dd); border-radius: 16px; background: var(--surface, #fff); color: var(--ink, #142237); min-width: 0; }
.kct-card h2 { font-size: 20px; margin: 0 0 12px; }
.kct-card h3 { font-size: 16px; margin: 16px 0 8px; }
.kct-muted, .kct-card p { line-height: 1.6; }
.kct-notice { padding: 14px 18px; border: 1px solid #7793b6; background: #eaf2ff; color: #203e64; border-radius: 10px; line-height: 1.6; }
.kct-field { display: grid; gap: 7px; font-size: 14px; margin: 14px 0; font-weight: 600; }
.kct-field input, .kct-field select, .kct-field textarea { font: inherit; padding: 10px; width: 100%; min-width: 0; background: #fff; color: #142237; border: 1px solid #8394ad; border-radius: 8px; box-sizing: border-box; }
.kct-field input[type=checkbox] { width: 22px; height: 22px; }
.kct-card button { font: inherit; padding: 11px 15px; margin: 8px 8px 8px 0; border: 1px solid #315d92; background: #254d7e; color: #fff; border-radius: 8px; cursor: pointer; min-height: 44px; max-width: 100%; text-align: start; }
.kct-card button:focus-visible, .kct-card summary:focus-visible { outline: 3px solid #658dfc; outline-offset: 3px; }
.kct-card details { margin: 14px 0; padding: 12px; border: 1px solid #8394ad; border-radius: 9px; }
.kct-card summary { cursor: pointer; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.kct-card pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 350px; overflow: auto; font-size: 12px; line-height: 1.6; padding: 12px; background: #edf2f9; color: #18324f; border-radius: 8px; }
[data-theme=dark] .kct-card { background: #17243a; color: #e7edf8; border-color: #526681; }
[data-theme=dark] .kct-notice { background: #20344f; color: #d9e8ff; }
[data-theme=dark] .kct-field input, [data-theme=dark] .kct-field select, [data-theme=dark] .kct-field textarea { background: #102038; color: #e7edf8; border-color: #7d91b0; }
[data-theme=dark] .kct-card pre { background: #102038; color: #d9e8ff; }
@media (max-width: 600px) { .kct-card { padding: 16px; } .kct-card button { width: 100%; margin-right: 0; } }
