:root{color-scheme:dark;--bg: #0e0f11;--panel: #17191c;--border: #2a2d32;--text: #d9dbde;--muted: #8a8f97;--accent: #c8102e;--active: #25282d;--hover: #22262b;--insignia-bg: #101113;--highlight: #d3b36b;--danger: #e2777c;--success: #7fa68b;--on-accent: #ffffff;--cat-officers: #c9a24b;--cat-nco: #a9b0b8;--cat-enlisted: #e8eaed}:root[data-theme=light]{color-scheme:light;--bg: #f4f5f6;--panel: #ffffff;--border: #d2d5d9;--text: #202329;--muted: #626a73;--accent: #b20d2b;--active: #e7e9ec;--hover: #e9ecef;--insignia-bg: #e6e8eb;--highlight: #795512;--danger: #a22d36;--success: #31704a;--on-accent: #ffffff;--cat-officers: #8c6617;--cat-nco: #5e6872;--cat-enlisted: #42484f}*{box-sizing:border-box}.cat-officers{--cat: var(--cat-officers)}.cat-nco{--cat: var(--cat-nco)}.cat-enlisted{--cat: var(--cat-enlisted)}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.application-form textarea,.backstory-editor textarea{display:block;width:100%;min-height:180px;margin:12px 0 8px;padding:12px;resize:vertical;background:var(--panel);border:1px solid var(--border);border-radius:4px;color:var(--text);font:inherit;line-height:1.5}.fields input:focus,.application-form textarea:focus,.backstory-editor textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.application-form p,.counter{color:var(--muted)}.counter{font-size:.8rem}.error{color:#e2777c;font-size:.9rem}.text-action{margin-left:12px;padding:8px 0;background:none;border:0;color:var(--accent);font:inherit;cursor:pointer}.text-action:disabled{opacity:.55;cursor:wait}.status-panel{max-width:700px;margin:0 auto}.classification{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:8px 16px;margin:24px 0;padding:16px 0;border-block:1px solid var(--border)}.classification dt{color:var(--muted)}.classification dd{margin:0;font-weight:600}.backstory-editor{display:block;margin:20px 0;color:var(--muted);font-size:.9rem}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(220px,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.83rem}.audit-list time,.audit-list span,.empty{color:var(--muted)}.audit-list .empty{padding:16px}@media(max-width:600px){.audit-list li{grid-template-columns:1fr;gap:4px}}
