.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:32px 24px}.navbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm)}.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.25rem;color:var(--text-main)}.brand-icon{width:36px;height:36px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800}.brand-tag{font-size:.75rem;font-weight:600;background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:9999px;letter-spacing:.05em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{padding:8px 16px;border-radius:var(--radius-sm);font-weight:500;color:var(--text-muted);transition:all .15s ease}.nav-link:hover{color:var(--text-main);background:var(--surface-alt)}.nav-link.active{color:var(--primary);background:var(--primary-light);font-weight:600}.server-pill{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;padding:4px 10px;border-radius:9999px;background:#f1f5f9;border:1px solid var(--border);margin-left:12px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-online{background-color:var(--success);box-shadow:0 0 0 2px #16a34a33}.dot-offline{background-color:var(--danger);box-shadow:0 0 0 2px #dc262633}.footer{background:var(--surface);border-top:1px solid var(--border);padding:24px;text-align:center;color:var(--text-muted);font-size:.875rem;margin-top:auto}.page-header{margin-bottom:32px}.page-title{font-size:2rem;font-weight:700;color:var(--text-main);letter-spacing:-.02em;margin-bottom:8px}.page-subtitle{font-size:1.05rem;color:var(--text-muted);max-width:750px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;font-size:.925rem;font-weight:600;border-radius:var(--radius-sm);transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface-alt);color:var(--text-main);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary-light)}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#fecaca}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-lg{padding:12px 24px;font-size:1rem}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:9999px;font-size:.775rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-easy{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-medium{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-hard{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-draft{background:#94a3b826;color:#cbd5e1;border:1px solid rgba(148,163,184,.3)}.badge-evaluating{background:#eab30826;color:#fde047;border:1px solid rgba(234,179,8,.3)}.badge-completed{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-failed{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.stats-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stat-value{font-size:1.85rem;font-weight:700;color:var(--text-main)}.problems-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.problem-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.problem-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cbd5e1}.problem-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.problem-title{font-size:1.25rem;font-weight:700;color:var(--text-main)}.problem-desc{color:var(--text-muted);font-size:.95rem;line-height:1.5;margin-bottom:20px;flex:1}.problem-meta{display:flex;align-items:center;gap:16px;font-size:.85rem;color:var(--text-muted);padding-top:16px;border-top:1px solid var(--border);margin-bottom:20px}.problem-actions{display:flex;gap:12px}.problem-detail-container{display:grid;grid-template-columns:1fr 340px;gap:32px}@media (max-width: 900px){.problem-detail-container{grid-template-columns:1fr}}.detail-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px;box-shadow:var(--shadow-sm)}.detail-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm)}.section-title{font-size:1.2rem;font-weight:700;color:var(--text-main);margin:24px 0 12px;display:flex;align-items:center;gap:8px}.section-title:first-child{margin-top:0}.req-list{padding-left:20px;margin-bottom:24px}.req-list li{margin-bottom:10px;color:#334155;font-size:.975rem}.callout-box{background:#f0fdf4;border-left:4px solid var(--success);padding:16px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:20px}.callout-tip{background:#fffbeb;border-left:4px solid var(--warning);padding:16px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:20px}.workspace-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.workspace-actions{display:flex;align-items:center;gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:24px}.card-title{font-size:1.15rem;font-weight:700;color:var(--text-main);margin-bottom:6px}.card-subtitle{font-size:.875rem;color:var(--text-muted);margin-bottom:16px}.class-row{display:grid;grid-template-columns:200px 140px 1fr 40px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}@media (max-width: 768px){.class-row{grid-template-columns:1fr}}.class-row:last-child{border-bottom:none}.input-field{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-main);transition:border-color .15s ease}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.textarea-field{width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-main);min-height:140px;resize:vertical}.textarea-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.code-field{font-family:var(--font-mono);font-size:.9rem;background:#0f172a;color:#f8fafc;border-color:#1e293b;min-height:200px;-moz-tab-size:2;tab-size:2}.code-field:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.delete-btn{color:#94a3b8;padding:6px;border-radius:var(--radius-sm);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.delete-btn:hover{color:var(--danger);background:var(--danger-light)}.eval-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.score-circle{width:110px;height:110px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;border:5px solid}.score-high{border-color:var(--success);color:var(--success);background:var(--success-light)}.score-mid{border-color:var(--warning);color:var(--warning);background:var(--warning-light)}.score-low{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.score-number{font-size:2.2rem;line-height:1}.score-max{font-size:.75rem;opacity:.8;text-transform:uppercase}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}.category-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-sm)}.cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cat-name{font-weight:600;font-size:.95rem;color:var(--text-main)}.cat-score{font-weight:700;font-size:1rem}.progress-bar-bg{width:100%;height:6px;background:#e2e8f0;border-radius:9999px;overflow:hidden;margin-bottom:10px}.progress-bar-fill{height:100%;border-radius:9999px;transition:width .4s ease}.cat-feedback{font-size:.825rem;color:var(--text-muted);line-height:1.4}.feedback-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media (max-width: 768px){.feedback-section{grid-template-columns:1fr}}.box-strengths{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:20px}.box-improvements{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);padding:20px}.feedback-list{padding-left:20px}.feedback-list li{margin-bottom:8px;font-size:.925rem;color:#1e293b}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{background:#0b1120;padding:14px 18px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:16px 18px;font-size:.925rem;border-bottom:1px solid var(--border);color:var(--text-main);vertical-align:middle}.data-table tr:hover td{background:#ffffff05}.state-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:48px 24px;text-align:center;max-width:600px;margin:40px auto}.state-icon{font-size:2.5rem;margin-bottom:16px;display:inline-block}.state-title{font-size:1.3rem;font-weight:700;margin-bottom:8px}.state-msg{color:var(--text-muted);margin-bottom:24px}.spinner{border:3px solid rgba(0,0,0,.1);border-left-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;right:24px;background:#1e293b;color:#fff;padding:12px 20px;border-radius:var(--radius-sm);font-size:.9rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;z-index:100;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.workspace-layout-toggle{display:flex;align-items:center;background:#0f172a;padding:4px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.08);gap:4px}.layout-toggle-btn{padding:6px 14px;font-size:.8rem;font-weight:600;color:#94a3b8;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;gap:6px}.layout-toggle-btn:hover{color:#f1f5f9;background:#ffffff0a}.layout-toggle-btn.active{color:#0ea5e9;background:#0ea5e91f}.workspace-split-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.workspace-split-container.full-editor,.workspace-split-container.full-canvas{grid-template-columns:1fr}@media (max-width: 1100px){.workspace-split-container{grid-template-columns:1fr}}.uml-canvas-wrapper{background:#080d1a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;height:720px;position:relative;box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080}.uml-canvas-toolbar{background:#0f172a;border-bottom:1px solid rgba(255,255,255,.08);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;z-index:20}.toolbar-left{display:flex;align-items:center;gap:10px}.live-dot{width:8px;height:8px;border-radius:50%;background:#06b6d4;box-shadow:0 0 10px #06b6d4;animation:pulseDot 2s infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.toolbar-title{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#e2e8f0}.entity-counter,.rel-counter{font-size:.7rem;font-family:var(--font-mono);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:2px 8px;border-radius:9999px;color:#94a3b8}.toolbar-right{display:flex;align-items:center;gap:12px}.smell-toggle-btn{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:#fbbf24;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:6px;transition:all .15s ease}.smell-toggle-btn:hover,.smell-toggle-btn.active{background:#f59e0b40;border-color:#fbbf24}.zoom-controls{display:flex;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:2px}.zoom-btn{padding:4px 8px;color:#cbd5e1;font-size:.8rem;font-weight:700;transition:background .15s ease}.zoom-btn:hover{background:#ffffff1a;color:#fff}.zoom-label{font-size:.7rem;font-family:var(--font-mono);color:#94a3b8;padding:0 6px}.reset-btn{font-size:.7rem;font-weight:500;border-left:1px solid rgba(255,255,255,.1)}.smell-alert-drawer{background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(245,158,11,.3);padding:12px 16px;max-height:220px;overflow-y:auto;z-index:15}.smell-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.smell-drawer-header h4{font-size:.8rem;font-weight:700;color:#fbbf24;text-transform:uppercase;letter-spacing:.05em}.close-smell-btn{color:#94a3b8;font-size:.8rem}.close-smell-btn:hover{color:#fff}.smell-items-list{display:flex;flex-direction:column;gap:8px}.smell-card{padding:8px 12px;border-radius:var(--radius-sm);font-size:.78rem}.smell-card.smell-critical{background:#dc262626;border-left:3px solid #ef4444}.smell-card.smell-warning{background:#f59e0b1f;border-left:3px solid #f59e0b}.smell-card.smell-info{background:#0ea5e91f;border-left:3px solid #0ea5e9}.smell-card-title{display:flex;align-items:center;gap:8px;color:#f1f5f9;margin-bottom:4px}.smell-badge{font-size:.65rem;font-weight:800;padding:1px 5px;border-radius:3px;background:#0000004d}.smell-summary{color:#cbd5e1;margin-bottom:4px;line-height:1.35}.smell-remedy{color:#94a3b8;font-size:.72rem;line-height:1.35}.uml-canvas-viewport{flex:1;position:relative;overflow:hidden;cursor:grab;background-color:#070b14;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px}.uml-canvas-viewport.grabbing{cursor:grabbing}.canvas-grid-layer{position:absolute;top:0;left:0;width:3000px;height:3000px}.connections-svg-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.edge-path{transition:stroke .2s ease,stroke-width .2s ease}.rel-line-group.highlighted .edge-path{stroke:#38bdf8!important;stroke-width:4px!important}.cards-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.canvas-card{position:absolute;background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:14px;box-shadow:0 10px 15px -3px #0006;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.canvas-card:hover{border-color:#38bdf880;box-shadow:0 12px 20px -3px #06b6d433}.canvas-card.card-interface{border-top:3px solid #06b6d4}.canvas-card.card-class{border-top:3px solid #8b5cf6}.canvas-card.selected{border-color:#38bdf8!important;box-shadow:0 0 0 2px #38bdf866,0 15px 25px -5px #0009!important}.canvas-card.has-smell.smell-critical{border-color:#ef4444!important;box-shadow:0 0 15px #ef44444d!important}.canvas-card.has-smell.smell-warning{border-color:#f59e0b!important;box-shadow:0 0 15px #f59e0b40!important}.card-top-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.card-type-pill{font-size:.65rem;font-family:var(--font-mono);font-weight:700;letter-spacing:.05em;color:#94a3b8}.card-interface .card-type-pill{color:#06b6d4}.card-class .card-type-pill{color:#a855f7}.smell-indicator-dot{font-size:.75rem;animation:pulseSmell 1.5s infinite}@keyframes pulseSmell{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.card-entity-title{font-size:1.05rem;font-weight:700;color:#f8fafc;margin-bottom:8px;line-height:1.2}.card-resp-block{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.resp-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:600;display:block;margin-bottom:2px}.resp-body{font-size:.78rem;color:#cbd5e1;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.empty-canvas-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:380px;color:#64748b}.prompt-icon{font-size:2.5rem;margin-bottom:12px;opacity:.6}.empty-canvas-prompt h3{font-size:1.1rem;font-weight:600;color:#e2e8f0;margin-bottom:8px}.empty-canvas-prompt p{font-size:.85rem;line-height:1.5}.eval-tab-bar{display:flex;gap:8px;background:#0b1120;padding:6px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);margin-bottom:28px;overflow-x:auto}.eval-tab-btn{padding:10px 18px;font-size:.85rem;font-weight:600;color:#94a3b8;border-radius:var(--radius-sm);transition:all .15s ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.eval-tab-btn:hover{color:#f1f5f9;background:#ffffff0a}.eval-tab-btn.active{color:#38bdf8;background:#38bdf81f;box-shadow:0 1px 3px #0000004d}.diff-hero-card{background:linear-gradient(135deg,#0f172a,#1e1b4b);border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-md);padding:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:gap}.diff-tag{font-size:.7rem;font-family:var(--font-mono);font-weight:800;letter-spacing:.1em;color:#c084fc}.diff-title{font-size:1.4rem;font-weight:800;color:#f8fafc;margin:4px 0}.diff-subtitle{font-size:.85rem;color:#94a3b8}.diff-score-badge-group{display:flex;align-items:center;gap:16px;background:#0006;padding:12px 20px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1)}.diff-stat-item{display:flex;flex-direction:column;align-items:center}.diff-stat-label{font-size:.65rem;color:#94a3b8;text-transform:uppercase}.diff-stat-val{font-size:1.6rem;font-weight:800;line-height:1.1}.diff-stat-val.prior{color:#94a3b8}.diff-stat-val.current{color:#38bdf8}.diff-arrow{color:#64748b;font-size:1.2rem}.diff-delta-chip{padding:6px 14px;border-radius:9999px;font-weight:800;font-size:.9rem}.diff-delta-chip.positive{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.4)}.diff-delta-chip.negative{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.4)}.diff-matrix-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.diff-matrix-item{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm);padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.diff-matrix-name{font-size:.85rem;font-weight:600;color:#e2e8f0}.diff-matrix-values{display:flex;align-items:center;gap:8px;font-size:.85rem;font-family:var(--font-mono)}.matrix-prior{color:#64748b}.matrix-arrow{color:#475569;font-size:.75rem}.matrix-current{color:#f1f5f9;font-weight:700}.matrix-chip{font-size:.75rem;padding:2px 6px;border-radius:4px;font-weight:700}.matrix-chip.pos{background:#10b98133;color:#34d399}.matrix-chip.neg{background:#ef444433;color:#f87171}.diff-columns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.diff-card{background:#0f172a}.diff-card.added{border-top:3px solid #10b981}.diff-card.retained{border-top:3px solid #38bdf8}.diff-card.removed{border-top:3px solid #94a3b8}.diff-card-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.diff-card-header h4{font-size:.95rem;font-weight:700;color:#f1f5f9}.diff-empty{font-size:.85rem;color:#64748b;font-style:italic;padding:12px 0}.diff-entity-list{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0}.diff-entity-list li{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:10px 12px}.diff-entity-pill{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#f8fafc;margin-bottom:4px}.pill-type{font-size:.7rem;font-family:var(--font-mono);color:#38bdf8}.diff-entity-resp{font-size:.78rem;color:#94a3b8;margin:0;line-height:1.35}.scenario-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.scenario-tag{font-size:.7rem;font-family:var(--font-mono);font-weight:800;letter-spacing:.1em;color:#38bdf8}.scenario-title{font-size:1.4rem;font-weight:800;color:#f8fafc;margin:4px 0}.scenario-desc{font-size:.85rem;color:#94a3b8}.scenario-selector-pills{display:flex;gap:8px;flex-wrap:wrap}.scenario-pill{background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:8px 14px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .15s ease}.scenario-pill:hover{background:#ffffff0f;color:#fff}.scenario-pill.active{background:#38bdf826;border-color:#38bdf8;color:#38bdf8}.pill-index{font-size:.7rem;background:#ffffff1a;padding:2px 6px;border-radius:4px}.scenario-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media (max-width: 900px){.scenario-main-grid{grid-template-columns:1fr}}.scenario-stepper-card{background:#0f172a}.stepper-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.stepper-title{font-size:1.15rem;font-weight:700;color:#f8fafc;margin-bottom:4px}.stepper-desc{font-size:.85rem;color:#94a3b8}.stepper-controls{display:flex;gap:8px}.stepper-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.step-item{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:var(--radius-sm);background:#ffffff05;border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.step-item.past{background:#10b98114;border-color:#10b9814d}.step-item.current{background:#38bdf81f;border-color:#38bdf8;box-shadow:0 0 15px #38bdf833}.step-marker{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;background:#1e293b;color:#94a3b8;flex-shrink:0}.step-item.past .step-marker{background:#10b981;color:#fff}.step-item.current .step-marker{background:#38bdf8;color:#020617}.step-label{font-size:.65rem;font-weight:700;text-transform:uppercase;color:#64748b;display:block}.step-text{font-size:.85rem;color:#cbd5e1;margin:2px 0 0;line-height:1.4}.scenario-verdict-banner{background:#10b98126;border:1px solid #10b981;border-radius:var(--radius-sm);padding:14px 18px;display:flex;align-items:center;gap:14px}.verdict-icon{font-size:1.8rem}.scenario-verdict-banner strong{font-size:.95rem;color:#34d399;display:block}.scenario-verdict-banner p{font-size:.85rem;color:#cbd5e1;margin:2px 0 0}.terminal-runner-card{background:#020617;border:1px solid rgba(255,255,255,.12);padding:0;overflow:hidden;display:flex;flex-direction:column;height:520px}.terminal-top{background:#0f172a;border-bottom:1px solid rgba(255,255,255,.08);padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.terminal-dots{display:flex;gap:6px}.terminal-dots .dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#10b981}.terminal-title{font-size:.7rem;font-family:var(--font-mono);font-weight:700;letter-spacing:.08em;color:#94a3b8}.terminal-badge{font-size:.65rem;font-family:var(--font-mono);background:#10b98133;color:#34d399;padding:2px 6px;border-radius:4px;font-weight:700}.terminal-body{flex:1;padding:16px;overflow-y:auto;font-family:var(--font-mono);font-size:.78rem;line-height:1.6;color:#38bdf8;display:flex;flex-direction:column;gap:6px}.terminal-line{display:flex;gap:8px}.log-prefix{color:#64748b;-webkit-user-select:none;user-select:none}.cursor-pulse{animation:pulseDot 1s infinite;color:#38bdf8;font-weight:800}.terminal-footer{background:#0f172a;border-top:1px solid rgba(255,255,255,.08);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-family:var(--font-mono);color:#64748b}.ref-hero-card{background:linear-gradient(135deg,#0f172a,#064e3b);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);padding:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.ref-tag{font-size:.7rem;font-family:var(--font-mono);font-weight:800;letter-spacing:.1em;color:#34d399}.ref-title{font-size:1.4rem;font-weight:800;color:#f8fafc;margin:4px 0}.ref-desc{font-size:.85rem;color:#cbd5e1}.ref-patterns-group{display:flex;flex-direction:column;gap:6px}.ref-patterns-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase}.ref-pattern-pills{display:flex;gap:8px;flex-wrap:wrap}.pattern-pill{background:#10b98133;border:1px solid rgba(16,185,129,.4);color:#a7f3d0;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:9999px}.ref-entities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.ref-entity-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:16px;transition:all .15s ease}.ref-entity-card.is-interface{border-top:3px solid #06b6d4}.ref-entity-card.is-class{border-top:3px solid #8b5cf6}.ref-entity-card.user-matched{background:#10b98114;border-color:#10b9814d}.ref-entity-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ref-entity-pill{font-size:.65rem;font-family:var(--font-mono);font-weight:700;color:#94a3b8}.match-badge{font-size:.65rem;font-weight:700;color:#34d399;background:#10b98133;padding:2px 6px;border-radius:4px}.ref-entity-name{font-size:1.1rem;font-weight:700;color:#f8fafc;margin-bottom:6px}.ref-entity-resp{font-size:.8rem;color:#94a3b8;line-height:1.4;margin:0}.ref-tradeoffs-list{display:flex;flex-direction:column;gap:12px}.ref-tradeoff-item{display:flex;align-items:flex-start;gap:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:12px 16px}.tradeoff-index{font-size:.75rem;font-family:var(--font-mono);font-weight:800;color:#10b981;background:#10b98126;padding:2px 8px;border-radius:4px}.tradeoff-text{font-size:.875rem;color:#cbd5e1;margin:0;line-height:1.5}:root{--primary: #38bdf8;--primary-hover: #0ea5e9;--primary-light: rgba(56, 189, 248, .15);--secondary: #94a3b8;--success: #10b981;--success-light: rgba(16, 185, 129, .15);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--background: #080c14;--surface: #0f172a;--surface-alt: #1e293b;--border: rgba(255, 255, 255, .08);--border-focus: #38bdf8;--text-main: #f8fafc;--text-muted: #94a3b8;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -4px rgba(0, 0, 0, .5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:.95rem;background:#0b1120;color:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#080c14}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#334155}
