:root{--bg-main: #0B0F17;--bg-surface: #111827;--bg-surface-review: #1F2937;--blueprint-blue: #38BDF8;--accent-insight: #F59E0B;--text-primary: #F8FAFC;--text-muted: #94A3B8;--text-disabled: #475569;--border-crisp: #1E293B;--system-error: #EF4444;--system-success: #10B981;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-h1: 32px;--font-size-h3: 18px;--font-size-base: 15px;--font-size-sm: 12px;--line-height-tight: 1.25;--line-height-base: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}body{margin:0;padding:0;background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blueprint-card{background-color:var(--bg-surface);border:1px solid var(--border-crisp);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:0 4px 6px -1px #0000004d;box-sizing:border-box}.advice-box{background-color:#38bdf808;border-left:3px solid var(--blueprint-blue);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4);box-sizing:border-box}.btn-primary{width:100%;min-height:48px;background-color:var(--blueprint-blue);color:var(--bg-main);border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .1s ease}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{background-color:var(--text-disabled);color:var(--text-muted);cursor:not-allowed;opacity:.6}.blueprint-input{width:100%;min-height:44px;background-color:var(--bg-main);color:var(--text-primary);border:1px solid var(--border-crisp);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-base);outline:none;transition:border-color .2s ease}.blueprint-input:focus{border-color:var(--blueprint-blue)}.start-screen-container{display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-3);text-align:center;width:100%;max-width:500px;margin:0 auto;box-sizing:border-box}.start-screen-header{margin-bottom:var(--space-5);width:100%}.main-logo-title{font-size:var(--font-size-h1);font-weight:900;letter-spacing:-.04em;margin:0 0 var(--space-2) 0;color:var(--blueprint-blue);line-height:var(--line-height-tight)}.main-subtitle{font-size:var(--font-size-base);font-weight:500;color:var(--text-muted);margin:0;line-height:var(--line-height-base)}.matrix-layout{width:100%;display:flex;flex-direction:column;gap:var(--space-3)}.matrix-section-title{font-size:var(--font-size-base);font-weight:700;color:var(--text-muted);text-align:left;margin:0 0 var(--space-1) 0;padding-left:var(--space-1)}.category-card{text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;margin-bottom:0}.category-card-active{border-color:var(--blueprint-blue);background-color:var(--bg-surface-review)}.category-title{font-size:var(--font-size-h3);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2) 0}.category-title-active{color:var(--blueprint-blue)}.category-desc{font-size:calc(var(--font-size-base) * .85);color:var(--text-muted);margin:0 0 var(--space-3) 0;line-height:var(--line-height-base)}.category-meta{font-size:calc(var(--font-size-base) * .85);color:var(--text-primary);font-weight:600;margin:0}.card-controls-group{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.case-preview-box{margin:var(--space-3) 0 0 0;padding:var(--space-3);border-left-color:var(--accent-insight)}.case-preview-text{margin:0 0 var(--space-2) 0;font-size:var(--font-size-base);color:var(--text-primary);line-height:var(--line-height-base)}.case-preview-text:last-child{margin-bottom:0}.text-error-accent{color:#fda4af}.anchor-tag-inline{display:inline-block;font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-right:var(--space-2)}.context-tag{background-color:var(--blueprint-blue);color:var(--bg-main)}.pain-tag{background-color:var(--system-error);color:var(--text-primary)}.case-selector-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-3) var(--space-4);font-size:calc(var(--font-size-base) * .85);font-weight:600;line-height:var(--line-height-tight);text-align:left;border-radius:var(--radius-md);cursor:pointer;background-color:var(--bg-main);transition:border-color .2s ease,color .2s ease;box-sizing:border-box}.case-selector-empty{color:var(--accent-insight);border:1px dashed var(--accent-insight)}.case-selector-empty:hover{border-color:var(--blueprint-blue);color:var(--blueprint-blue)}.case-selector-selected{color:var(--text-primary);border:1px solid var(--border-crisp)}.case-selector-selected:hover{border-color:var(--blueprint-blue)}.selector-arrow{font-size:10px;margin-left:var(--space-2);color:var(--text-muted)}.start-blueprint-btn{font-size:var(--font-size-base);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.modal-overlay{position:fixed;inset:0;background-color:#0b0f17d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-content{background-color:var(--bg-surface);width:100%;max-width:450px;max-height:75vh;border-radius:var(--radius-lg);border:1px solid var(--border-crisp);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 25px -5px #00000080}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--border-crisp);display:flex;justify-content:space-between;align-items:center}.modal-title{color:var(--blueprint-blue);font-size:var(--font-size-base);font-weight:700}.modal-close-btn{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-h3);cursor:pointer;padding:var(--space-1);line-height:1;transition:color .2s ease}.modal-close-btn:hover{color:var(--system-error)}.modal-list{overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.modal-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--bg-main);color:var(--text-muted);font-size:calc(var(--font-size-base) * .9);line-height:var(--line-height-base);text-align:left;cursor:pointer;border:1px solid var(--border-crisp);transition:all .2s ease}.modal-item:hover{border-color:var(--blueprint-blue);color:var(--text-primary)}.modal-item-active{background-color:#38bdf81a;color:var(--blueprint-blue);border-color:var(--blueprint-blue);font-weight:600}@keyframes beamDown{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes drawArc{0%{stroke-dashoffset:150;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes starBirth{0%{transform:scale(0);opacity:0}30%{opacity:1}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animation-fade-in{animation:fadeIn .4s ease-out forwards}.app-viewport-root{min-height:100vh;background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.session-screen-layout{width:100%;max-width:500px;padding:var(--space-3);box-sizing:border-box;display:flex;flex-direction:column}.session-context-banner{margin-bottom:var(--space-4);text-align:center;padding:0 var(--space-2)}.context-banner-title{color:var(--blueprint-blue);font-size:var(--font-size-sm);letter-spacing:.15em;margin-bottom:var(--space-2);font-weight:900;text-transform:uppercase}.context-banner-text{color:var(--text-muted);font-size:calc(var(--font-size-base) * .88);line-height:var(--line-height-base);margin:0}.blueprint-graphics-container{display:flex;align-items:center;justify-content:center;width:100%;overflow:visible;transition:height .4s cubic-bezier(.4,0,.2,1)}.svg-height-short{height:150px;margin-bottom:0}.svg-height-tall{height:230px;margin-bottom:var(--space-3)}.blueprint-schematic-svg{width:100%;max-width:280px;overflow:visible}.svg-line{stroke-width:1.25;fill:none}.line-solid{stroke:var(--blueprint-blue)}.line-beam-down{stroke:var(--accent-insight);stroke-dasharray:100;stroke-dashoffset:100;animation:beamDown .8s ease-out forwards}.svg-arc{fill:none;stroke:var(--blueprint-blue);stroke-width:1.25;stroke-dasharray:150;stroke-dashoffset:150}.arc-top{animation:drawArc 1s ease-out .4s forwards}.arc-bottom{animation:drawArc 1s ease-out 1.2s forwards}.svg-star-group{animation:starBirth .6s cubic-bezier(.34,1.56,.64,1) forwards}.svg-node-circle{r:5px}.svg-node-glow{r:10px;fill:transparent}.svg-node-active .svg-node-circle{fill:var(--blueprint-blue)}.svg-node-active .svg-node-text{fill:var(--text-muted)}.svg-node-focus .svg-node-circle{fill:var(--accent-insight)}.svg-node-focus .svg-node-glow{fill:var(--accent-insight);opacity:.25}.svg-node-focus .svg-node-text{fill:var(--text-primary);font-weight:700}.svg-node-text{font-size:9px;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em}.session-interactive-card{position:relative;box-sizing:border-box;width:100%}.blueprint-step-counter{position:absolute;top:var(--space-3);right:var(--space-4);color:var(--text-disabled);font-size:var(--font-size-h3);font-weight:800;font-family:monospace}.card-step-tag{background-color:var(--bg-surface-review);color:var(--blueprint-blue);border:1px solid var(--border-crisp);margin-bottom:var(--space-3)}.card-question-description{color:var(--text-muted);font-size:calc(var(--font-size-base) * .9);line-height:var(--line-height-base);margin:0 0 var(--space-3) 0;border-left:2px solid var(--blueprint-blue);padding-left:var(--space-3)}.card-main-question-text{font-size:var(--font-size-h3);font-weight:700;line-height:var(--line-height-tight);margin:0 0 var(--space-4) 0;color:var(--text-primary)}.options-vertical-stack{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.option-selection-btn{text-align:left;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--bg-main);color:var(--text-muted);border:1px solid var(--border-crisp);cursor:pointer;transition:all .2s ease;display:flex;align-items:flex-start;font-size:var(--font-size-base);line-height:var(--line-height-base)}.option-selection-btn:hover:not(:disabled){border-color:var(--blueprint-blue);color:var(--text-primary)}.option-btn-selected{border:1px solid var(--blueprint-blue);background-color:#38bdf80d;color:var(--text-primary)}.option-btn-marker{color:var(--text-disabled);margin-right:var(--space-2);font-family:monospace;transition:color .2s ease}.option-btn-selected .option-btn-marker{color:var(--blueprint-blue)}.option-btn-text{flex:1}.session-feedback-area{margin-top:var(--space-3)}.input-field-wrapper{margin:var(--space-3) 0}.input-field-label{display:block;color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-2);font-style:italic;line-height:var(--line-height-base)}.dynamic-session-input{box-sizing:border-box}.input-validation-error{border:1px solid var(--system-error)!important;box-shadow:0 0 0 1px #ef444433}.session-error-message{color:var(--system-error);font-size:var(--font-size-sm);margin-bottom:var(--space-3);text-align:center;font-weight:600}.architectural-advice-panel{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);margin:0 0 var(--space-4) 0}.btn-submit-step{font-weight:700}.btn-finish-session{background-color:var(--system-success);font-weight:700}.calibration-layout-group{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background-color:var(--bg-main);border:1px dashed var(--border-crisp);border-radius:var(--radius-md)}.calibration-notice-text{color:var(--text-muted);font-size:var(--font-size-sm);text-align:center;margin:0 0 var(--space-2) 0;font-style:italic}.btn-calibration{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-crisp);border-radius:var(--radius-md);font-weight:600;font-size:calc(var(--font-size-base) * .85);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.btn-calibration:hover{background-color:var(--bg-surface-review);border-color:var(--blueprint-blue)}.btn-calibration-reset{background-color:transparent;color:var(--text-muted);border:1px dashed var(--text-disabled)}.btn-calibration-reset:hover{border-color:var(--system-error);color:var(--system-error);background-color:transparent}
