.app{display:flex;height:100vh;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.main-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:var(--surface);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 35px #00000073}.menu-toggle{display:none;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);color:#e8ecf4;cursor:pointer;font-size:24px;padding:8px 12px;border-radius:10px;transition:all .3s ease}.menu-toggle:hover{background:#ffffff17;border-color:#ffffff38}.title{font-size:28px;font-weight:800;letter-spacing:-.8px}.title-text{color:#eaf2ff}.view-controls{display:flex;gap:8px}.view-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e8ecf4;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.view-toggle:hover{background:var(--accent-strong);border-color:#06b6d473}.panel-toggle-btn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#f2f6ffe6;cursor:pointer;transition:all .2s ease}.panel-toggle-btn:hover{background:#1d4ed83d;border-color:#60a5fa70}.content-wrapper{flex:1;display:flex;overflow:hidden;padding:18px}.workspace-grid{width:100%;display:grid;grid-template-columns:minmax(340px,.92fr) minmax(520px,1.28fr);gap:18px;min-height:0}.workspace-grid.conversation-hidden{grid-template-columns:minmax(0,1fr)}.panel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 25px 55px #00000073;min-height:0}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:#08121a}.panel-head h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f2f6ffd9}.panel-head-actions{display:inline-flex;align-items:center;gap:8px}.share-output-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid rgba(6,182,212,.45);background:#06b6d42e;color:var(--text);font-size:11px;font-weight:700;cursor:pointer}.share-output-btn:hover{background:#06b6d447}.share-status-toast{position:fixed;right:16px;bottom:70px;z-index:90;padding:9px 12px;border-radius:10px;border:1px solid rgba(125,211,252,.4);background:#070e1ceb;color:#dbeafe;font-size:12px;font-weight:600}.welcome-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:18px;background:#02060ec7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.welcome-dialog-card{width:min(760px,100%);max-height:min(86vh,780px);overflow-y:auto;border-radius:16px;border:1px solid rgba(148,163,184,.35);background:#0c1420;box-shadow:0 24px 70px #0000007a;padding:22px}.welcome-dialog-card h2{margin:0 0 10px;font-size:24px;color:#eef5ff}.welcome-dialog-card>p{margin:0;color:#deebffe0;line-height:1.6;font-size:15px}.welcome-dialog-details{margin-top:16px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0f172aa8;padding:14px}.welcome-dialog-details h3{margin:0 0 10px;color:#dbeafe;font-size:15px}.welcome-dialog-details ul{margin:0;padding-left:18px;color:#deebffe6}.welcome-dialog-details li{margin-bottom:8px;line-height:1.5;font-size:14px}.welcome-dialog-ok{margin-top:18px;width:100%;border-radius:10px;border:1px solid rgba(96,165,250,.45);background:#1e40af73;color:#e9f2ff;font-weight:700;font-size:14px;padding:10px 14px;cursor:pointer}.welcome-dialog-ok:hover{background:#2563eb8f}.chat-container,.blueprint-panel,.blueprint-panel.expanded{min-height:0}.messages-area{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.messages-area::-webkit-scrollbar{width:8px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px;transition:background .3s ease}.messages-area::-webkit-scrollbar-thumb:hover{background:#ffffff57}.loading-indicator{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#2563eb29;border:1px solid rgba(96,165,250,.35);border-radius:10px;animation:fadeIn .3s ease}.typing-indicator{display:flex;gap:6px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.empty-blueprint{flex:1;padding:22px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.empty-icon-wrap{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#93c5fd;background:#2563eb33;border:1px solid rgba(96,165,250,.28)}.empty-blueprint h4{margin:0;font-size:20px;color:#f6f8fb}.empty-blueprint p{margin:0;color:#e4ebf6b8;line-height:1.6;max-width:60ch}.sample-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sample-card{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f1f7ffe6;font-size:13px;font-weight:600;transition:transform .2s ease,border-color .2s ease}.sample-card:hover{transform:translateY(-2px);border-color:#22c55e75}.input-section{padding:14px 18px 16px;background:#05070af0;border-top:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.input-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.collapse-input-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0a;color:#deebff;font-size:12px;font-weight:700;cursor:pointer}.collapse-input-btn:hover{background:#1d4ed840}.input-form{display:flex;gap:12px;margin-bottom:8px}.input-field{flex:1;padding:14px 18px;background:#ffffff08;border:1.5px solid rgba(255,255,255,.16);border-radius:12px;color:#f7fafc;font-size:15px;transition:all .3s ease;font-family:inherit}.input-field:focus{outline:none;border-color:#60a5fa;background:#ffffff0d;box-shadow:0 0 0 3px #22c55e29}.input-field::placeholder{color:#dbe5f48c}.input-field:disabled{opacity:.5;cursor:not-allowed}.send-button{padding:14px 24px;background:#1d4ed8;border:none;border-radius:12px;color:#041417;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:700;font-size:15px}.send-button:hover:not(:disabled){background:#1e40af;transform:translateY(-2px);box-shadow:0 12px 28px #22c55e52}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed}.hint-text{font-size:13px;color:#e2ecfaa1;text-align:left;margin:0}.restore-input-fab{position:fixed;right:22px;bottom:18px;z-index:80;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(96,165,250,.4);background:#050b14f2;color:#deebff;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700;box-shadow:0 12px 30px #00000073}.restore-input-fab:hover{background:#1d4ed8cc}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 960px){.workspace-grid{grid-template-columns:1fr}.chat-container{max-height:46vh}.messages-area{padding:14px;gap:12px}.view-toggle span{display:none}.sample-grid{grid-template-columns:1fr}.input-top-row{flex-direction:column;align-items:flex-start}}@media (max-width: 768px){.content-wrapper{padding:10px}.header{padding:12px 16px;gap:8px;flex-wrap:wrap}.title{font-size:18px;order:1;width:100%}.view-controls{gap:6px;width:100%;justify-content:flex-end}.view-toggle{padding:8px}.input-form{gap:8px}.send-button{padding:12px 14px}.input-field{padding:12px 14px;font-size:14px}.restore-input-fab{right:12px;bottom:12px}.share-output-btn span{display:none}}@media (max-width: 520px){.content-wrapper{padding:8px}.panel-head{padding:12px}.messages-area,.input-section,.welcome-dialog-overlay{padding:10px}.welcome-dialog-card{border-radius:12px;padding:14px;max-height:90vh}.welcome-dialog-card h2{font-size:18px}.welcome-dialog-card>p,.welcome-dialog-details li{font-size:13px}}.message{display:flex;flex-direction:column;gap:6px;animation:slideIn .4s ease-out}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message-content{max-width:75%;padding:14px 18px;border-radius:14px;word-wrap:break-word;word-break:break-word;position:relative;line-height:1.6;font-size:15px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000001a}.message.user .message-content{background:var(--accent);color:#021818;border-bottom-right-radius:6px;box-shadow:0 4px 12px #16a34a2e}.message.assistant .message-content{background:#ffffff05;border:1px solid rgba(255,255,255,.04);color:var(--text);border-bottom-left-radius:6px}.message-content.error{background:#ef44441a!important;border-color:#ef44444d!important;color:#fecaca}.copy-button{position:absolute;top:8px;right:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;border-radius:6px;padding:6px 8px;cursor:pointer;opacity:0;transition:all .2s ease;font-size:12px}.message-content:hover .copy-button{opacity:1}.copy-button:hover{background:#fff3;border-color:#fff6;color:#ffffffe6;transform:scale(1.05)}.message-time{font-size:12px;color:var(--muted);padding:0 4px}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.message-content{max-width:90%}}.blueprint-container{background:transparent;border:none;border-radius:0;padding:16px;overflow-y:auto;max-height:none;animation:slideIn .4s ease-out;flex:1}.blueprint-header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.blueprint-title{font-size:22px;color:var(--text);margin-bottom:12px;font-weight:700}.blueprint-description{color:#e6f5f3d1;font-size:15px;line-height:1.7}.blueprint-content{display:flex;flex-direction:column;gap:16px}.blueprint-section{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#ffffff05;transition:all .3s ease}.blueprint-section:hover{border-color:#16a34a47}.section-header{width:100%;padding:16px 18px;background:#06b6d414;border:none;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;font-weight:600}.section-header-row{display:flex;align-items:center;justify-content:space-between}.section-actions{display:flex;align-items:center;gap:8px}.section-download{background:transparent;color:#d7ecff;border:1px solid rgba(219,234,254,.12);padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px}.section-download.small{padding:6px 8px;font-size:12px}.section-download:hover{background:#ffffff08;border-color:#dbeafe38}.section-header:hover{background:#06b6d41f}.section-title{font-size:16px;font-weight:700;margin:0;color:#f0f5fc}.section-content{padding:18px}.visual-title{padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#06b6d424,#06b6d405)}.mindmap-title{background:#94a3b814}.mindmap-shell{padding:16px}.mindmap-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:stretch}.mindmap-layout.no-detail .mindmap-canvas{max-width:760px;margin:0 auto}.mindmap-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.mindmap-canvas{position:relative;width:100%;aspect-ratio:1 / 1;min-height:340px;height:auto;border-radius:16px;border:1px solid rgba(255,255,255,.04);background:radial-gradient(circle at center,#06b6d40f,#0710168c 45%,#0009),repeating-radial-gradient(circle at center,rgba(255,255,255,.01) 0 1px,transparent 1px 38px);overflow:hidden}.mindmap-links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.mindmap-line{stroke:#06b6d4f2;stroke-width:2.4}.mindmap-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:200px;max-width:280px;text-align:center;padding:14px 16px;border-radius:14px;border:1px solid rgba(147,197,253,.5);background:#0f172adb;box-shadow:0 14px 30px #0206178c;z-index:3}.mindmap-center span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#bae6fdd1;margin-bottom:6px}.mindmap-center strong{color:#eff6ff;font-size:15px;line-height:1.3}.mindmap-node{position:absolute;transform:translate(-50%,-50%);min-width:108px;max-width:170px;text-align:center;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:700;color:#e7f2ff;border:1px solid rgba(255,255,255,.2);background:#0f172ad1;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.mindmap-node:hover,.mindmap-node:focus{transform:translate(-50%,-50%) scale(1.04);box-shadow:0 8px 20px #0206176b;outline:none}@media (max-width: 720px){.mindmap-canvas{aspect-ratio:4 / 3;min-height:260px}.mindmap-node{min-width:84px;max-width:120px;font-size:11px;padding:7px 10px}.mindmap-center{min-width:140px;max-width:200px;padding:10px 12px}.mindmap-center strong{font-size:13px}.mindmap-line{stroke-width:2.2}}@media (max-width: 420px){.mindmap-canvas{aspect-ratio:4 / 3;min-height:220px}.mindmap-node{min-width:70px;max-width:110px;font-size:10px;padding:6px 8px}}.mindmap-detail-panel{border-radius:14px;border:1px solid rgba(147,197,253,.35);background:#070e1cd1;padding:14px;color:#deebff;max-height:72vh;overflow-y:auto}.detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-close{width:28px;height:28px;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#0f172ac2;color:#dbeafe;display:grid;place-items:center;cursor:pointer}.detail-close:hover{background:#dc262633;border-color:#f8717180}.mindmap-detail-panel .detail-kicker{margin:0 0 8px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#bae6fdcc}.mindmap-detail-panel h4{margin:0 0 10px;font-size:17px;color:#eff6ff}.mindmap-detail-panel .detail-badge{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;border:1px solid rgba(147,197,253,.4);color:#bfdbfe;font-size:11px;text-transform:uppercase}.mindmap-detail-panel p{margin:0;font-size:13px;line-height:1.55;color:#dbeafee6}.mindmap-detail-panel ul{margin:10px 0 0 16px;padding:0}.mindmap-detail-panel li{margin-bottom:6px;color:#dbeafeeb;font-size:12px}.flowchart-shell{padding:16px}.flowchart-track{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-start;padding:8px 4px}.flowchart-item{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px}.flowchart-arrow{display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:#93c5fdf2;font-weight:700;min-width:18px}.flowchart-node{min-width:220px;max-width:280px;border-radius:12px;border:1px solid rgba(147,197,253,.35);background:#0f172ab8;box-shadow:0 10px 26px #02061759;padding:12px}.flowchart-step{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#c7dcff;border:1px solid rgba(147,197,253,.4);background:#2563eb33}.flowchart-node h4{margin:10px 0 6px;color:#eff6ff;font-size:14px}.flowchart-node p{margin:0;color:#ddeaffd1;font-size:12px;line-height:1.45}.flowchart-meta{margin-top:10px;color:#93c5fdf2;font-size:11px;line-height:1.35}.flowchart-section-block{margin-top:10px}.flowchart-section-block strong{display:block;font-size:11px;letter-spacing:.03em;color:#dbeafe;margin-bottom:6px}.flowchart-chip-row{display:flex;flex-wrap:wrap;gap:6px}.flowchart-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(125,211,252,.4);background:#1e40af33;color:#dbeafe;font-size:10px;padding:3px 8px}.flowchart-chip.stack{border-color:#4ade8066;background:#16a34a33}.flowchart-chip.muted{border-color:#94a3b859;background:#47556947}@media (max-width: 900px){.flowchart-node{min-width:190px;max-width:240px}}@media (max-width: 640px){.flowchart-track{justify-content:center}.flowchart-item{width:100%;justify-content:center}.flowchart-node{width:calc(100% - 34px);max-width:none}}.mindmap-node.frontend{border-color:#4ade8099}.mindmap-node.backend{border-color:#60a5fa99}.mindmap-node.database{border-color:#fbbf2499}.mindmap-node.external_api{border-color:#c4b5fd99}.mindmap-node.infrastructure{border-color:#7dd3fc99}.mindmap-node.tech{border-color:#7dd3fc8c}.mindmap-node.prerequisite{border-color:#fbbf248c}.mindmap-node.approach{border-color:#c4b5fd8c}.flow-map{display:flex;align-items:center;gap:10px;padding:18px;overflow-x:auto}.flow-node{min-width:170px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;box-shadow:0 8px 20px #00000040}.flow-node strong{display:block;color:#eef4ff;font-size:13px;margin-top:6px}.flow-type{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#d6e4ffc7}.flow-link{color:#a6bfebcc;font-size:18px;font-weight:900}.flow-node.frontend{border-color:#22c55e73}.flow-node.backend{border-color:#3b82f673}.flow-node.database{border-color:#f59e0b73}.flow-node.external_api{border-color:#a855f773}.flow-node.infrastructure{border-color:#0ea5e973}.topic-graph{padding:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.topic-node{border-radius:999px;border:1px solid rgba(147,197,253,.4);background:#2563eb29;color:#dce9ff;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;text-align:center}.topic-node.size-1{font-size:11px;padding:8px 10px}.topic-node.size-2{font-size:12px;padding:10px 13px}.topic-node.size-3{font-size:13px;padding:12px 15px}.topic-node.size-4{font-size:14px;padding:14px 17px}@media (max-width: 920px){.mindmap-layout,.mindmap-layout.has-detail{grid-template-columns:1fr}.mindmap-canvas{min-height:300px}.mindmap-node{min-width:92px;max-width:124px;font-size:10px;padding:6px 8px}.mindmap-center{min-width:160px;max-width:220px;padding:10px 12px}.flowchart-track{flex-direction:column;overflow-x:visible}.flowchart-node{min-width:100%;max-width:100%}.flowchart-arrow{transform:rotate(90deg);justify-content:flex-start;padding-left:8px}.stack-summary-grid{grid-template-columns:1fr}}.focus-grid-mode .section-content>.components-grid,.focus-grid-mode .section-content>.tech-stack-grid,.focus-grid-mode .section-content>.workflow-timeline,.focus-grid-mode .section-content>.prerequisites-list,.focus-grid-mode .section-content>.approaches-grid,.focus-grid-mode .section-content>.examples-list,.focus-grid-mode .section-content>.references-list,.focus-grid-mode .timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.focus-grid-mode .workflow-step{display:block;margin-bottom:0;padding:14px;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#0f172a85}.focus-grid-mode .step-number{margin-bottom:8px}.focus-grid-mode .step-arrow{display:none}.focus-grid-mode .prerequisite-group,.focus-grid-mode .reference-item,.focus-grid-mode .example-card,.focus-grid-mode .tech-item,.focus-grid-mode .component-card,.focus-grid-mode .approach-card,.focus-grid-mode .timeline-item{height:100%}.components-grid{display:grid;grid-template-columns:1fr;gap:14px}.component-card{padding:16px;background:#3b82f614;border:1px solid rgba(96,165,250,.2);border-radius:10px;transition:all .3s ease}.component-card:hover{background:#3b82f624;border-color:#60a5fa66;transform:translateY(-3px);box-shadow:0 8px 16px #60a5fa26}.component-type{display:inline-block;font-size:11px;font-weight:700;padding:5px 10px;border-radius:6px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.component-type.frontend{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.component-type.backend{background:#3b82f626;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.component-type.database{background:#d9770626;color:#fbbf24;border:1px solid rgba(217,119,6,.3)}.component-type.external_api{background:#3b82f626;color:#bfdbfe;border:1px solid rgba(59,130,246,.3)}.component-type.infrastructure{background:#16a34a26;color:#bbf7d0;border:1px solid rgba(22,163,74,.3)}.component-card h4{margin:8px 0;color:#e2e8f0;font-size:15px;font-weight:600}.component-card p{font-size:13px;color:#cbd5e1;margin-bottom:10px;line-height:1.6}.component-details{display:flex;flex-direction:column;gap:10px;font-size:13px}.detail-group strong{color:#e2e8f0;display:block;margin-bottom:6px;font-weight:600}.detail-group ul{margin:4px 0 0 16px;color:#cbd5e1}.detail-group li{font-size:12px;margin-bottom:3px}.tech-tags{display:flex;flex-wrap:wrap;gap:6px}.tech-tag{display:inline-block;padding:4px 10px;background:#60a5fa26;border:1px solid rgba(96,165,250,.3);border-radius:6px;font-size:11px;color:#93c5fd;font-weight:500}.tech-stack-grid{display:grid;grid-template-columns:1fr;gap:14px}.stack-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.stack-summary-card{border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#0f172a75;padding:10px}.stack-summary-card h4{margin:0 0 8px;font-size:12px;color:#e2e8f0}.tech-item{padding:16px;background:#3b82f614;border-left:4px solid #60a5fa;border-radius:8px;transition:all .3s ease}.tech-item:hover{background:#3b82f624;border-left-color:#22c55e}.tech-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;flex-wrap:wrap}.tech-header strong{color:#e2e8f0;font-size:15px;font-weight:600}.tech-category{font-size:11px;padding:4px 10px;background:#60a5fa26;border:1px solid rgba(96,165,250,.3);border-radius:6px;color:#93c5fd;font-weight:500}.tech-reason{font-size:13px;color:#cbd5e1;line-height:1.6;margin-bottom:8px}.tech-version{font-size:12px;color:#94a3b8}.stack-meta-block{margin-top:10px}.stack-meta-block strong{display:block;margin-bottom:6px;color:#dbeafe;font-size:11px}.stack-chip-row{display:flex;flex-wrap:wrap;gap:6px}.stack-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(125,211,252,.38);background:#1e40af33;color:#dbeafe;font-size:10px;padding:3px 8px}.stack-chip.module{border-color:#4ade8061;background:#15803d33}.stack-chip.language{border-color:#fbbf2461;background:#92400e38}.workflow-timeline{position:relative;padding:0}.workflow-step{display:flex;gap:12px;margin-bottom:16px;position:relative}.step-number{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:#1d4ed8;color:#fff;border-radius:50%;font-weight:700;font-size:14px}.step-content{flex:1;padding-bottom:12px}.step-content h4{margin:0 0 6px;color:#e0e0e0;font-size:14px}.step-content p{margin:0 0 8px;color:#a0aec0;font-size:12px;line-height:1.5}.step-details{display:flex;flex-direction:column;gap:6px;font-size:12px}.step-details .detail{padding:6px;background:#3b82f614;border-radius:4px;color:#a0aec0}.step-details strong{color:#cbd5e1}.step-details ul{margin:4px 0 0 16px;padding:0}.step-details li{color:#a0aec0;font-size:11px}.step-arrow{display:none}.prerequisites-list{display:grid;grid-template-columns:1fr;gap:12px}.prerequisite-group{padding:12px;background:#3b82f614;border-radius:6px;border-left:3px solid #22c55e}.prerequisite-group h4{margin:0 0 8px;color:#e0e0e0;font-size:13px}.prerequisite-group ul{margin:0;padding-left:16px}.prerequisite-group li{color:#a0aec0;font-size:12px;margin-bottom:4px}.approaches-grid{display:grid;grid-template-columns:1fr;gap:12px}.approach-card{padding:14px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:6px}.approach-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.approach-header h4{margin:0;color:#e0e0e0;font-size:14px}.complexity{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.complexity.simple{background:#22c55e33;color:#86efac}.complexity.medium{background:#eab30833;color:#fcd34d}.complexity.complex{background:#ef444433;color:#fca5a5}.approach-description{font-size:12px;color:#a0aec0;margin-bottom:10px;line-height:1.5}.approach-details{display:flex;flex-direction:column;gap:8px;font-size:12px}.approach-details .detail-group strong{color:#cbd5e1;display:block;margin-bottom:4px}.approach-details .detail-group ul{margin:4px 0 0 16px;color:#a0aec0}.approach-details .detail-group li{font-size:11px;margin-bottom:2px}.approach-details .detail-group li:has(+li:first-of-type){color:#86efac}.approach-details .detail-group li:has(+li:nth-of-type(2)){color:#fca5a5}.examples-list{display:grid;grid-template-columns:1fr;gap:12px}.example-card{padding:14px;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:6px}.example-card h4{margin:0 0 6px;color:#e0e0e0;font-size:14px}.example-card .company{font-size:11px;color:#8892b0;margin:0 0 6px}.example-card .description{font-size:12px;color:#a0aec0;margin-bottom:8px;line-height:1.5}.example-link{display:inline-block;font-size:12px;color:#60a5fa;text-decoration:none;margin-bottom:8px;transition:color .2s ease}.example-link:hover{color:#22c55e}.lessons{margin-top:8px}.lessons strong{display:block;color:#e0e0e0;font-size:12px;margin-bottom:4px}.lessons ul{margin:0;padding-left:16px}.lessons li{font-size:11px;color:#a0aec0;margin-bottom:2px}.references-list{display:grid;grid-template-columns:1fr;gap:8px}.reference-item{padding:10px;background:#3b82f614;border-radius:6px;border-left:3px solid #1d4ed8}.reference-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.reference-link{color:#60a5fa;text-decoration:none;font-size:13px;flex:1;min-width:200px;transition:color .2s ease;line-height:1.4}.reference-link:hover{color:#22c55e;text-decoration:underline}.difficulty{display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.difficulty.beginner{background:#22c55e33;color:#86efac}.difficulty.intermediate{background:#eab30833;color:#fcd34d}.difficulty.advanced{background:#ef444433;color:#fca5a5}.reference-type{display:inline-block;font-size:10px;padding:2px 6px;background:#3b82f633;border-radius:3px;color:#bfdbfe;white-space:nowrap}.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.timeline-item{padding:10px;background:#3b82f61a;border-radius:6px;text-align:center}.timeline-item strong{display:block;color:#e0e0e0;font-size:12px;margin-bottom:4px}.timeline-item p{font-size:11px;color:#a0aec0;margin:0}.next-steps{padding:12px;background:#16a34a1a;border-radius:6px}.next-steps h4{margin:0 0 8px;color:#e0e0e0;font-size:13px}.next-steps ol{margin:0;padding-left:20px}.next-steps li{font-size:12px;color:#a0aec0;margin-bottom:4px;line-height:1.4}@media (max-width: 768px){.blueprint-container{max-height:400px;padding:16px}.components-grid,.approaches-grid{grid-template-columns:1fr}.reference-header{flex-direction:column}.timeline-grid{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #000000;--surface: #071018;--text: #e6f7f5;--muted: #94a3b8;--accent: #06b6d4;--accent-strong: rgba(6,182,212,.45);--success: #16a34a;--border: rgba(255,255,255,.06);--scroll-track: #071018;--scroll-thumb: #06b6d4;--scroll-thumb-hover: #34d1c8}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg);color:var(--text);overflow-x:hidden}#root{min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}
