:root{--bg: #0f1115;--surface: #1a1d24;--surface-hover: #22262e;--border: #2a2f3a;--text: #e8eaed;--muted: #9aa0a6;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;border-radius:var(--radius)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#12151c;border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;width:100%}input[type=radio],input[type=checkbox]{width:1.125rem;height:1.125rem;flex-shrink:0;margin:0;padding:0;cursor:pointer;accent-color:var(--accent);background:transparent;border:none}input[type=radio]{border-radius:50%}input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus{outline:2px solid rgba(59,130,246,.35);border-color:var(--accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid rgba(59,130,246,.45);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;font-weight:600;background:var(--accent);color:#fff}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger{background:transparent;color:var(--danger);border:1px solid rgba(239,68,68,.45)}.btn-danger:hover{background:#ef44441f}.page{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}.page-wide{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}.page-center{min-height:60vh;display:flex;align-items:center;justify-content:center}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem}.card+.card{margin-top:.85rem}.tag{display:inline-block;font-size:.75rem;padding:.15rem .45rem;border-radius:6px;background:#252a34;color:var(--muted);margin-left:.35rem}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.field{margin-bottom:.85rem}.field label{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--muted)}.error-banner{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fecaca;padding:.65rem .85rem;border-radius:var(--radius);margin-bottom:1rem}.option-row{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:.45rem 0}.option-row .option-label{flex:1 1 auto;min-width:0;writing-mode:horizontal-tb;line-height:1.5;overflow-wrap:break-word;word-break:normal}.option-row .option-inline-input{flex:1 1 160px;min-width:0;max-width:100%;width:auto}.fill-q-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin-bottom:.65rem}.fill-q-head strong{min-width:0;writing-mode:horizontal-tb;overflow-wrap:break-word;word-break:normal;line-height:1.45}.fill-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.fill-desc{color:var(--muted);margin-bottom:1.25rem;white-space:pre-wrap}
