:root{--bg-primary: #0d1220;--bg-secondary: #111827;--bg-card: transparent;--bg-hover: rgba(255, 255, 255, .02);--bg-active: rgba(255, 255, 255, .04);--bg-input: transparent;--bg-sidebar: rgba(17, 24, 39, .5);--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-tertiary: #8b929e;--text-inverse: #0d1220;--border-primary: #1f2937;--border-secondary: #374151;--border-focus: #3b82f6;--severity-critical: #dc2626;--severity-high: #f59e0b;--severity-medium: #eab308;--severity-low: #3b82f6;--severity-info: #8b929e;--difficulty-beginner: #3b82f6;--difficulty-intermediate: #a855f7;--difficulty-advanced: #dc2626;--status-draft: #6b7280;--status-active: #10b981;--status-completed: #3b82f6;--status-archived: #4b5563;--accent-primary: #3b82f6;--accent-hover: #2563eb;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-danger: #dc2626;--sidebar-width: 240px;--sidebar-collapsed-width: 58px;--topbar-height: 56px;--font-heading: "Proxima Nova", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Europa", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-family: var(--font-body);--font-mono: "Berkeley Mono", "JetBrains Mono", "Fira Code", monospace;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-xl: 0px;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:var(--font-mono)}.mono-sm{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary)}.timestamp{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:22px;font-weight:700;font-family:var(--font-heading)}.card{background:transparent;border:1px solid var(--border-primary);border-top:2px solid var(--accent-primary);padding:20px;position:relative;transition:border-color .12s}.card:hover{border-color:var(--border-secondary)}.table-container{overflow-x:auto;border:1px solid var(--border-primary);border-top:2px solid var(--accent-primary)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:9px 14px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);background:transparent;border-bottom:1px solid var(--border-primary);font-family:var(--font-mono)}td{padding:11px 14px;font-size:13px;border-bottom:1px solid color-mix(in srgb,var(--border-primary) 40%,transparent);font-family:var(--font-body)}tr:last-child td{border-bottom:none}tr{transition:background .1s}tr:hover td{background:var(--bg-hover)}td,.mono-data{font-variant-numeric:tabular-nums}input,textarea,select{width:100%;padding:8px 12px;background:transparent;border:1px solid var(--border-primary);color:var(--text-primary);font-family:var(--font-body);font-size:14px;transition:border-color .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #3b82f626}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}label{display:block;font-weight:500;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-family:var(--font-body)}.form-group{margin-bottom:16px}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid transparent;font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary)}.btn-primary:hover{background:var(--accent-primary);color:#fff}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:transparent;color:var(--accent-danger);border:1px solid var(--accent-danger)}.btn-danger:hover{background:var(--accent-danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-tertiary);border:none}.btn-ghost:hover{color:var(--text-primary)}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:16px}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;text-transform:capitalize;font-family:var(--font-mono)}.badge-critical{color:var(--severity-critical)}.badge-high{color:var(--severity-high)}.badge-medium{color:var(--severity-medium)}.badge-low{color:var(--severity-low)}.badge-info{color:var(--severity-info)}.badge-draft{color:var(--status-draft)}.badge-active{color:var(--status-active)}.badge-completed{color:var(--status-completed)}.badge-msp{color:#c084fc;border:1px solid rgba(192,132,252,.3);background:#c084fc14;border-radius:3px;padding:2px 8px;letter-spacing:.02em}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border-primary);margin-bottom:20px}.tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--font-body)}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-top:2px solid var(--accent-primary);padding:24px;width:100%;max-width:520px;max-height:80vh;overflow-y:auto;position:relative}.modal:after{content:"ESC";position:absolute;top:8px;right:12px;font-size:9px;font-family:var(--font-mono);color:var(--text-tertiary);opacity:.5;letter-spacing:.06em;padding:1px 4px;border:1px solid var(--border-primary)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h2{font-size:18px;font-weight:600;font-family:var(--font-heading)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-tertiary);text-align:center;border:1px solid var(--border-primary)}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;font-family:var(--font-heading)}.hljs{color:#c9d1d9;background:#060a14}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-title{color:#ff7b72}.hljs-string,.hljs-addition{color:#a5d6ff}.hljs-comment,.hljs-quote{color:#8b949e;font-style:italic}.hljs-number,.hljs-regexp,.hljs-literal{color:#79c0ff}.hljs-built_in,.hljs-builtin-name{color:#d2a8ff}.hljs-variable,.hljs-template-variable,.hljs-attr{color:#ffa657}.hljs-type,.hljs-class .hljs-title{color:#7ee787}.hljs-symbol,.hljs-bullet{color:#f2cc60}.hljs-meta{color:#8b949e}.markdown-content{line-height:1.7;color:var(--text-primary);font-family:var(--font-body);font-size:14px}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin-top:24px;margin-bottom:12px;font-family:var(--font-heading)}.markdown-content p{margin-bottom:12px}.markdown-content p:last-child{margin-bottom:0}.markdown-content code{background:#060a14;padding:2px 7px;font-family:var(--font-mono);font-size:12.5px;color:#e2e8f0;border:1px solid rgba(255,255,255,.08)}.markdown-content pre{background:#060a14;padding:16px;overflow-x:auto;margin-bottom:16px;border:1px solid rgba(255,255,255,.08)}.markdown-content pre code{background:none;padding:0;border:none;color:inherit}.markdown-content ul,.markdown-content ol{padding-left:24px;margin-bottom:12px}.markdown-content li{margin-bottom:4px}.markdown-content img{max-width:100%;margin:8px 0}.markdown-content blockquote{border-left:3px solid var(--accent-primary);padding-left:16px;color:var(--text-secondary);margin-bottom:12px}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:13px}.markdown-content th,.markdown-content td{padding:8px 12px;border:1px solid var(--border-primary);text-align:left}.markdown-content th{background:#060a14;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.03em}.spinner{width:24px;height:24px;border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{display:flex;align-items:center;justify-content:center;height:100vh}.toast-container{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border-primary);min-width:300px;animation:slideIn .2s ease-out;font-family:var(--font-body);position:relative}.toast-success{border-top:2px solid var(--accent-success)}.toast-error{border-top:2px solid var(--accent-danger)}.toast-warning{border-top:2px solid var(--accent-warning)}.toast-success:before{content:"SUCCESS";position:absolute;top:-9px;left:12px;font-size:9px;font-weight:600;font-family:var(--font-mono);color:var(--accent-success);letter-spacing:.08em;background:var(--bg-primary);padding:0 6px}.toast-error:before{content:"ERROR";position:absolute;top:-9px;left:12px;font-size:9px;font-weight:600;font-family:var(--font-mono);color:var(--accent-danger);letter-spacing:.08em;background:var(--bg-primary);padding:0 6px}.toast-warning:before{content:"WARNING";position:absolute;top:-9px;left:12px;font-size:9px;font-weight:600;font-family:var(--font-mono);color:var(--accent-warning);letter-spacing:.08em;background:var(--bg-primary);padding:0 6px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-secondary);transition:.2s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:var(--accent-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}@font-face{font-family:Proxima Nova;src:url(../../../fonts/ProximaNova-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Europa;src:url(../../../fonts/EuropaRegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Europa;src:url(../../../fonts/EuropaRegularItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(../../../fonts/BerkeleyMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(../../../fonts/BerkeleyMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(../../../fonts/BerkeleyMono-Oblique.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(../../../fonts/BerkeleyMono-Bold-Oblique.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}
