@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#0a0b0d,#121317,#1a1d23);color:#e2e8f0;min-height:100vh;padding:20px;overflow-x:auto}.app-container{display:block;width:100%;max-width:1800px;margin:0 auto;background:#1a1d23f2;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:24px;box-shadow:0 25px 50px #0006;border:1px solid rgba(71,85,105,.2);position:relative}.main-content{flex:1;padding:50px;min-width:0}.sidebar-container{width:400px;background:#0f172af2;border-left:1px solid rgba(71,85,105,.3);animation:slideInFromRight .3s cubic-bezier(.4,0,.2,1);position:fixed;right:20px;top:20px;height:calc(100vh - 40px);z-index:10000;border-radius:8px;box-shadow:0 25px 50px #0006}.node-details-sidebar{height:100%;display:flex;flex-direction:column;padding:30px}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(71,85,105,.3)}.sidebar-header h2{color:#e2e8f0;font-size:1.5em;font-weight:600;margin:0}.sidebar-content{flex:1;overflow-y:auto;color:#cbd5e1;line-height:1.6}.sidebar-content .section{margin-bottom:25px}.sidebar-content .section h3{color:#60a5fa;font-size:1.1em;font-weight:600;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid rgba(96,165,250,.2)}.sidebar-content p{margin-bottom:15px;font-size:.95em}.close-button{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s}.close-button:hover{background:#ef444433;border-color:#ef444480}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.container{width:100%;max-width:1800px;margin:0 auto;background:#1a1d23f2;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:24px;padding:50px;box-shadow:0 25px 50px #0006;border:1px solid rgba(71,85,105,.2)}h1{text-align:center;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px;font-size:3em;font-weight:700;letter-spacing:-.02em}.subtitle{text-align:center;color:#94a3b8;margin-bottom:60px;font-size:1.2em;font-weight:400}.tree-container{position:relative;width:100%;overflow-x:auto;padding-bottom:40px}.tree{position:relative;display:flex;flex-direction:column;align-items:center;min-width:1400px;margin:0 auto}.node{position:relative;margin:20px 0;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.node-box{background:#1e2129e6;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(71,85,105,.3);border-radius:16px;padding:20px 20px 30px;box-shadow:0 8px 32px #0000004d;position:relative;z-index:10;width:320px;height:auto;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.node-box:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#60a5fa0d,#a78bfa0d);opacity:0;transition:opacity .3s ease;z-index:-1}.node-box:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0006;border-color:#60a5fa66}.node-box:hover:before{opacity:1}.node-header{font-size:1.1em;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px;color:#e2e8f0;flex-shrink:0;word-wrap:break-word;word-break:break-word}.node-date{font-size:.8em;color:#94a3b8;margin-bottom:12px;font-weight:500;padding:3px 8px;background:#47556933;border-radius:6px;display:inline-block;border:1px solid rgba(71,85,105,.3);flex-shrink:0}.node-content{font-size:.85em;line-height:1.5;color:#cbd5e1;flex:none;word-wrap:break-word;word-break:break-word}.node-content ul{list-style:none;margin:0}.node-content li{padding:4px 0 4px 16px;position:relative;border-radius:4px;transition:all .2s ease;margin-bottom:3px}.node-content li:hover{background:#60a5fa14;transform:translate(3px)}.node-content li:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:3px;background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:50%;box-shadow:0 0 4px #60a5fa66}.root-node .node-box{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid rgba(96,165,250,.4);box-shadow:0 8px 32px #60a5fa1a}.root-node .node-header{color:#60a5fa}.root-node .node-date{background:#60a5fa1a;color:#60a5fa;border-color:#60a5fa33}.root-node .node-content{color:#e2e8f0}.root-node .node-content li:before{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 0 8px #60a5fa99}.trunk-node .node-box{background:linear-gradient(135deg,#1e293b,#312e81);border:1px solid rgba(139,92,246,.4);box-shadow:0 8px 32px #8b5cf61a}.trunk-node .node-header{color:#a78bfa}.trunk-node .node-date{background:#8b5cf61a;color:#a78bfa;border-color:#8b5cf633}.trunk-node .node-content{color:#e2e8f0}.trunk-node .node-content li:before{background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 0 8px #a78bfa99}.tech-node .node-box{background:linear-gradient(135deg,#1e293b,#164e63);border:1px solid rgba(34,211,238,.4);box-shadow:0 8px 32px #22d3ee1a}.tech-node .node-header{color:#22d3ee}.tech-node .node-date{background:#22d3ee1a;color:#22d3ee;border-color:#22d3ee33}.tech-node .node-content li:before{background:linear-gradient(135deg,#22d3ee,#0891b2);box-shadow:0 0 8px #22d3ee99}.voice-tech-node .node-box{background:linear-gradient(135deg,#1e293b,#155e75);border:1px solid rgba(6,182,212,.4);box-shadow:0 8px 32px #06b6d41a}.voice-tech-node .node-header{color:#06b6d4}.voice-tech-node .node-date{background:#06b6d41a;color:#06b6d4;border-color:#06b6d433}.voice-tech-node .node-content li:before{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 0 8px #06b6d499}.domain-node .node-box{background:linear-gradient(135deg,#1e293b,#78350f);border:1px solid rgba(251,146,60,.4);box-shadow:0 8px 32px #fb923c1a}.domain-node .node-header{color:#fb923c}.domain-node .node-date{background:#fb923c1a;color:#fb923c;border-color:#fb923c33}.domain-node .node-content li:before{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 0 8px #fb923c99}.audience-node .node-box{background:linear-gradient(135deg,#1e293b,#581c87);border:1px solid rgba(196,181,253,.4);box-shadow:0 8px 32px #c4b5fd1a}.audience-node .node-header{color:#c4b5fd}.audience-node .node-date{background:#c4b5fd1a;color:#c4b5fd;border-color:#c4b5fd33}.audience-node .node-content li:before{background:linear-gradient(135deg,#c4b5fd,#a855f7);box-shadow:0 0 8px #c4b5fd99}.community-node .node-box{background:linear-gradient(135deg,#1e293b,#064e3b);border:1px solid rgba(52,211,153,.4);box-shadow:0 8px 32px #34d3991a}.community-node .node-header{color:#34d399}.community-node .node-date{background:#34d3991a;color:#34d399;border-color:#34d39933}.community-node .node-content li:before{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 0 8px #34d39999}.fork-container{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:40px;margin:30px 0}.tree-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.tree-line{stroke:#60a5fa;stroke-width:2;fill:none;filter:drop-shadow(0 2px 6px rgba(96,165,250,.3));opacity:.6}.requirements{margin-top:16px;padding-top:16px;border-top:1px solid rgba(71,85,105,.3);font-size:.85em;word-wrap:break-word;word-break:break-word}.req-label{font-weight:600;color:#94a3b8;word-wrap:break-word;word-break:break-word}.dependency{color:#f87171;font-weight:600;word-wrap:break-word;word-break:break-word}.timeline{margin-top:40px;padding:40px;background:#0f172a99;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:20px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(71,85,105,.2)}.timeline-header{text-align:center;font-size:1.5em;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:40px}.timeline-track{position:relative;height:6px;background:#4755694d;border-radius:3px;margin:40px 0;overflow:hidden}.timeline-progress{position:absolute;height:100%;background:linear-gradient(90deg,#60a5fa,#a78bfa);border-radius:3px;width:14%;animation:progressAnimation 2s ease-out;box-shadow:0 0 12px #60a5fa66}@keyframes progressAnimation{0%{width:0%}to{width:14%}}.timeline-items{display:flex;justify-content:space-between;position:relative}.timeline-item{text-align:center;position:relative;flex:1;animation:timelineItemFadeIn .6s ease-out}.timeline-item:nth-child(1){animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.2s}.timeline-item:nth-child(3){animation-delay:.3s}.timeline-item:nth-child(4){animation-delay:.4s}.timeline-item:nth-child(5){animation-delay:.5s}.timeline-item:nth-child(6){animation-delay:.6s}.timeline-item:nth-child(7){animation-delay:.7s}@keyframes timelineItemFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline-marker{width:20px;height:20px;background:#1e2129e6;border:3px solid #60a5fa;border-radius:50%;margin:-13px auto 0;position:relative;z-index:2;box-shadow:0 4px 12px #60a5fa4d;transition:all .3s ease}.timeline-item:hover .timeline-marker{transform:scale(1.2);box-shadow:0 6px 20px #60a5fa66;border-color:#a78bfa}.timeline-item.completed .timeline-marker{background:linear-gradient(135deg,#60a5fa,#a78bfa);border-color:#60a5fa;box-shadow:0 0 16px #60a5fa99}.timeline-content{margin-top:20px;padding:16px;background:#1e2129cc;border-radius:12px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;border:1px solid rgba(71,85,105,.2)}.timeline-item:hover .timeline-content{transform:translateY(-4px);box-shadow:0 8px 24px #0006;border-color:#60a5fa4d}.timeline-date{font-weight:700;color:#e2e8f0;font-size:1em;margin-bottom:4px}.timeline-title{color:#94a3b8;font-size:.9em;font-weight:500}.legend{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin-top:30px;padding-top:40px;border-top:1px solid rgba(71,85,105,.3)}.legend-item{display:flex;align-items:center;gap:12px;font-size:.95em;font-weight:500;transition:all .3s ease;color:#cbd5e1}.legend-item:hover{transform:translateY(-2px);color:#e2e8f0}.legend-color{width:24px;height:24px;border-radius:6px;border:2px solid;box-shadow:0 2px 8px #0000004d;transition:all .3s ease}.legend-item:hover .legend-color{transform:scale(1.1);box-shadow:0 4px 16px #0006}@media (max-width: 1200px){.app-container{flex-direction:column;max-width:100%}.main-content{padding:30px}.sidebar-container{width:100%;border-left:none;border-top:1px solid rgba(71,85,105,.3)}.fork-container{flex-direction:column;gap:20px;align-items:center}.tree{min-width:800px}.node-box{width:280px;height:auto}}@media (max-width: 768px){body{padding:10px}.app-container{border-radius:16px}.main-content{padding:20px}.sidebar-container{animation:slideInFromBottom .3s cubic-bezier(.4,0,.2,1)}.node-details-sidebar{padding:20px}h1{font-size:2em;margin-bottom:10px}.subtitle{font-size:1em;margin-bottom:40px}.tree{min-width:auto;display:flex;flex-direction:column;align-items:center;gap:15px}.node-box{width:100%;min-width:300px;height:auto;padding:16px 16px 26px}.fork-container{flex-direction:column;gap:15px;width:100%}.timeline{padding:20px;margin-top:30px}.timeline-header{font-size:1.3em;margin-bottom:30px}.timeline-items{flex-direction:column;gap:20px}.timeline-track{display:none}.timeline-marker{position:static;margin:0 auto 10px}.legend{flex-direction:column;align-items:center;gap:16px;padding-top:30px}.legend-item{font-size:.9em}.tree-lines{display:none}}@media (max-width: 480px){.container{padding:15px;margin:5px}h1{font-size:1.8em}.node-box{width:100%;min-width:300px;padding:14px 14px 24px}.node-header{font-size:1em;margin-bottom:6px}.node-date{font-size:.75em;padding:2px 6px;margin-bottom:10px}.node-content{font-size:.8em}.timeline{padding:16px}.timeline-header{font-size:1.2em}.timeline-content{padding:12px}}.node{cursor:pointer;transition:all .2s ease}.node:hover{transform:translateY(-3px)}.node:hover .node-box{box-shadow:0 15px 35px #0000004d;border-color:#60a5fa66}.node:active{transform:translateY(-1px)}.node-details-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:overlayFadeIn .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.node-details-modal{background:linear-gradient(135deg,#1a1d23f2,#1e2129f2);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(96,165,250,.3);border-radius:20px;max-width:800px;max-height:90vh;width:100%;box-shadow:0 25px 50px #00000080;overflow:hidden;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.node-details-header{padding:30px 30px 20px;border-bottom:1px solid rgba(71,85,105,.3);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#60a5fa0d,#a78bfa0d)}.node-details-header h2{font-size:1.8em;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-.02em}.close-button{background:#47556933;border:1px solid rgba(71,85,105,.3);border-radius:8px;color:#94a3b8;font-size:1.2em;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:none;backdrop-filter:none}.close-button:hover{background:#60a5fa33;border-color:#60a5fa66;color:#60a5fa;transform:scale(1.05)}.node-details-content{padding:30px;overflow-y:auto;max-height:calc(90vh - 120px)}.detail-section{margin-bottom:30px;animation:sectionFadeIn .5s ease-out;animation-fill-mode:both}.detail-section:nth-child(1){animation-delay:.1s}.detail-section:nth-child(2){animation-delay:.2s}.detail-section:nth-child(3){animation-delay:.3s}.detail-section:nth-child(4){animation-delay:.4s}.detail-section:nth-child(5){animation-delay:.5s}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-subtitle{font-size:1.2em;font-weight:600;color:#e2e8f0;margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-description{color:#cbd5e1;line-height:1.7;font-size:.95em;text-align:justify}@media (max-width: 768px){.node-details-overlay{padding:10px;align-items:flex-end}.node-details-modal{max-height:85vh;border-radius:16px 16px 0 0;animation:modalSlideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.node-details-header{padding:20px 20px 15px}.node-details-header h2{font-size:1.5em}.node-details-content{padding:20px;max-height:calc(85vh - 100px)}.detail-section{margin-bottom:25px}.section-subtitle{font-size:1.1em}.section-description{font-size:.9em}}@media (max-width: 480px){.node-details-overlay{padding:5px}.node-details-modal{max-height:90vh;border-radius:12px 12px 0 0}.node-details-header{padding:16px 16px 12px}.node-details-header h2{font-size:1.3em}.close-button{width:36px;height:36px;font-size:1.1em}.node-details-content{padding:16px;max-height:calc(90vh - 90px)}.detail-section{margin-bottom:20px}.section-subtitle{font-size:1em;margin-bottom:10px}.section-description{font-size:.85em;line-height:1.6}}
