:root{color-scheme:light;--bg: #f4f5f9;--text: rgba(0, 0, 0, .87);--border: rgba(0, 0, 0, .14);--borderSoft: rgba(0, 0, 0, .08);--cardBg: #ffffff;--controlBg: #ffffff;--error: #dc2626;--ok: #16a34a;--accent: #6366f1;--accentHover: #4f46e5;--accentFg: #ffffff;--accentSoft: rgba(99, 102, 241, .09);--shadow: 0 1px 3px rgba(0, 0, 0, .07), 0 1px 2px rgba(0, 0, 0, .04);--fs-sm: .825rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.4rem;--pad-1: .25rem;--pad-2: .5rem;--pad-3: 1rem;--pad-4: 1.5rem;--op-disabled: .7}html[data-theme=dark]{color-scheme:dark;--bg: #0b0f19;--text: rgba(255, 255, 255, .9);--border: rgba(255, 255, 255, .16);--borderSoft: rgba(255, 255, 255, .09);--cardBg: #131c2e;--controlBg: #1a2540;--error: #f87171;--ok: #4ade80;--accent: #818cf8;--accentHover: #a5b4fc;--accentFg: #0b0f19;--accentSoft: rgba(129, 140, 248, .12);--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs-md);background:var(--bg);color:var(--text);display:flex;flex-direction:column;align-items:center}.wrap{width:100%;max-width:60rem;box-sizing:border-box;margin-block:var(--pad-4);padding:0 var(--pad-4);display:flex;flex-direction:column;gap:var(--pad-3)}@media(max-width:40rem){.wrap{margin-block:1rem;padding:0 var(--pad-3)}}h1,.t-h1{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}.t-h3{font-size:var(--fs-md);font-weight:700}.t-muted{font-size:var(--fs-md);color:var(--text);opacity:.9}.t-details{font-size:var(--fs-sm);color:var(--text);opacity:.9}.t-tag{font-size:var(--fs-sm);color:var(--text);opacity:.9;font-style:italic;text-transform:uppercase;letter-spacing:.05em}.t-label,button{font-size:var(--fs-sm);color:var(--text);opacity:.9;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.t-good{color:var(--ok)}.t-bad{color:var(--error)}p{margin:0}.form{display:flex;flex-direction:column;gap:var(--pad-3)}label{display:flex;flex-direction:column;gap:var(--pad-2)}input,select,textarea{padding:var(--pad-2) var(--pad-2);border:.0625rem solid var(--border);border-radius:8px;background:var(--controlBg);color:var(--text);font-family:inherit;font-size:var(--fs-md);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}textarea{min-height:6rem;resize:vertical}input:disabled,select:disabled,textarea:disabled{opacity:var(--op-disabled);cursor:not-allowed}button{padding:var(--pad-2) var(--pad-3);border:.0625rem solid var(--border);border-radius:8px;background:var(--controlBg);cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}button:hover:not(:disabled){opacity:1}button:not(.btn-primary):hover:not(:disabled){background:var(--accentSoft);border-color:var(--accent)}button:disabled{opacity:var(--op-disabled);cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accentFg);opacity:1}.btn-primary:hover:not(:disabled){background:var(--accentHover);border-color:var(--accentHover)}.btn-primary:disabled{background:var(--controlBg);border-color:var(--border);color:var(--text)}.btn-sm{padding:var(--pad-1) var(--pad-2);font-size:var(--fs-sm)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--pad-3)}.rowWrap{display:flex;flex-wrap:wrap;gap:var(--pad-2)}.card{padding:var(--pad-4);border:.0625rem solid var(--borderSoft);border-radius:12px;display:flex;flex-direction:column;gap:var(--pad-3);background:var(--cardBg);box-shadow:var(--shadow)}.card.is-loading{position:relative;pointer-events:none;min-height:4rem}.card.is-loading>*{opacity:.35}.card.is-loading:after{content:"";position:absolute;top:50%;left:50%;width:1.5rem;height:1.5rem;margin-top:-.75rem;margin-left:-.75rem;border:.1875rem solid var(--borderSoft);border-top-color:var(--accent);border-radius:50%;animation:cardSpin .8s linear infinite}@keyframes cardSpin{to{transform:rotate(360deg)}}.list{display:flex;flex-direction:column;gap:var(--pad-1)}.list button{text-align:left;display:flex;flex-direction:column;gap:var(--pad-1);background:transparent;border-color:transparent;padding:var(--pad-2) var(--pad-2);border-radius:8px}.list button:hover:not(:disabled){background:var(--accentSoft);border-color:transparent}.list button.selected{background:var(--accentSoft);border-color:var(--accent)}
