:root{--navy:#080e1a;--navy-2:#0d1525;--navy-3:#111d30;--navy-4:#172540;--navy-5:#1e3054;--steel:#4a7fa5;--steel-bright:#6b9dc4;--steel-dim:#2d5a7a;--steel-glow:#4a7fa51f;--text-primary:#e8edf5;--text-secondary:#8a9ab5;--text-dim:#3d5070;--border:#4a7fa51f;--border-bright:#4a7fa540}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--navy);color:var(--text-primary);scroll-behavior:smooth}body{background:var(--navy);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,sans-serif;font-size:17px;line-height:1.75}::selection{background:var(--steel);color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--navy)}::-webkit-scrollbar-thumb{background:var(--navy-5);border-radius:2px}.font-display{font-family:Cormorant Garamond,serif}.font-mono{font-family:DM Mono,monospace}.font-body{font-family:DM Sans,sans-serif}.observation{color:var(--text-dim);border-left:1px solid var(--border-bright);margin-top:10px;padding-left:12px;font-size:.875rem;font-style:italic;line-height:1.65}.rank-trainee{background:var(--navy-3);color:var(--text-secondary);border:1px solid var(--border)}.rank-detective{background:var(--navy-4);color:var(--steel-bright);border:1px solid var(--steel-dim)}.rank-senior{background:var(--navy-4);color:var(--steel-bright);border:1px solid var(--steel)}.rank-inspector{background:var(--navy-5);color:#93c5fd;border:1px solid var(--steel)}.rank-chief{background:var(--navy-5);color:#bfdbfe;border:1px solid var(--steel-bright)}.rank-commissioner{background:var(--navy-4);color:#e0f2fe;border:1px solid var(--steel-bright)}.xp-bar{background:var(--navy-4);border-radius:1px;height:2px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--steel-dim), var(--steel-bright));border-radius:1px;height:100%;transition:width 1.2s}.stamp-solved{color:#22c55e;letter-spacing:.15em;opacity:.8;border:1px solid #22c55e;padding:2px 8px;font-family:DM Mono,monospace;font-size:10px;display:inline-block;transform:rotate(-2deg)}.stamp-unsolved{color:#ef4444;letter-spacing:.15em;opacity:.8;border:1px solid #ef4444;padding:2px 8px;font-family:DM Mono,monospace;font-size:10px;display:inline-block;transform:rotate(-2deg)}.tab-content{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.card-dark{background:var(--navy-2);border:1px solid var(--border);transition:border-color .2s}.card-dark:hover{border-color:var(--border-bright)}.btn-primary{background:var(--steel);color:#fff;letter-spacing:.06em;cursor:pointer;border:none;padding:14px 32px;font-family:DM Mono,monospace;font-size:13px;text-decoration:none;transition:background .2s;display:inline-block}.btn-primary:hover{background:var(--steel-bright)}.btn-ghost{color:var(--text-secondary);letter-spacing:.06em;border:1px solid var(--border-bright);cursor:pointer;background:0 0;padding:14px 32px;font-family:DM Mono,monospace;font-size:13px;text-decoration:none;transition:all .2s;display:inline-block}.btn-ghost:hover{border-color:var(--steel);color:var(--text-primary)}.section-label{color:var(--steel);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-family:DM Mono,monospace;font-size:10px}.divider{border:none;border-top:1px solid var(--border)}input,textarea{background:var(--navy-3);border:1px solid var(--border-bright);color:var(--text-primary);-webkit-appearance:none;outline:none;width:100%;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--steel)}input::placeholder,textarea::placeholder{color:var(--text-dim)}
