.kobold-res{--kr-ink:#18251e;--kr-paper:#fffdf7;--kr-gold:#a67b28;box-sizing:border-box;color:var(--kr-ink);background:var(--kr-paper);font:16px/1.5 system-ui,sans-serif;padding:24px;border:1px solid #ded7c8;border-radius:12px;text-align:left}.kobold-res *{box-sizing:border-box}.kobold-res [hidden]{display:none!important}.kobold-res h2{font:700 22px/1.25 system-ui,sans-serif;margin:0;color:var(--kr-ink)}.kobold-res-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}.kobold-res-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.kobold-res label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px;margin:0}.kobold-res input,.kobold-res select,.kobold-res textarea{width:100%;min-width:0;min-height:44px;border:1px solid #a8afa9;border-radius:6px;background:#fff;color:var(--kr-ink);font:400 16px/1.3 system-ui,sans-serif;padding:10px;margin:0}.kobold-res button{cursor:pointer;min-height:44px;border:1px solid var(--kr-gold);border-radius:6px;background:#fff;color:var(--kr-ink);padding:10px 16px;font:600 15px/1.4 system-ui,sans-serif;white-space:normal}.kobold-res button:disabled{opacity:.55;cursor:wait}.kobold-res .kobold-res-submit{background:var(--kr-ink);color:#fff;border-color:var(--kr-ink)}.kobold-res :focus-visible{outline:3px solid var(--kr-gold);outline-offset:3px}.kobold-res-wide{grid-column:1/-1}.kobold-res-hint{font-size:12px;margin:12px 0 0;color:#526056}.kobold-res a{color:inherit;text-decoration:underline}.kobold-res-message{margin:12px 0 0;font-weight:600}.kobold-res-message:empty{display:none}.kobold-res-message[data-error=true]{color:#9c2525}.kobold-res [data-results]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.kobold-res [data-results]:empty{display:none}.kobold-res [data-results] p{flex-basis:100%;margin:0}.kobold-res-banner{position:fixed;bottom:0;left:0;right:0;z-index:9990;border-radius:12px 12px 0 0;padding:14px 24px max(14px,env(safe-area-inset-bottom));box-shadow:0 -4px 24px #0002;max-height:80dvh;overflow:auto}.kobold-res-banner .kobold-res-form{grid-template-columns:1.1fr .8fr .65fr 1fr 1.4fr 1.1fr;gap:10px}.kobold-res-banner .kobold-res-heading{margin-bottom:10px}.kobold-res-banner h2{font-size:18px}.kobold-res-banner .kobold-res-heading button{font-size:12px;padding:4px 10px;min-height:36px}.kobold-res .kobold-res-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.kobold-res-spacer{height:var(--kobold-banner-height,0px)}@media(max-width:900px){.kobold-res-banner .kobold-res-form{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.kobold-res{padding:16px}.kobold-res-form,.kobold-res-banner .kobold-res-form{grid-template-columns:repeat(2,minmax(0,1fr))}.kobold-res-banner{padding-bottom:max(16px,env(safe-area-inset-bottom))}.kobold-res-form .kobold-res-submit{grid-column:1/-1}.kobold-res h2{font-size:20px}}

/* Keep native inputs and selects aligned even when the theme gives selects separate spacing. */
.kobold-res .kobold-res-form label{line-height:1.5;margin:0!important;padding:0;align-self:stretch;justify-content:flex-end}
.kobold-res .kobold-res-form label>input,.kobold-res .kobold-res-form label>select{box-sizing:border-box!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:10px!important;line-height:22px!important;vertical-align:middle;float:none}
.kobold-res .kobold-res-form label>select{padding-right:28px!important}
