*{margin:0;padding:0;box-sizing:border-box} body{background:#050505;min-height:100vh;font-family:'Segoe UI',system-ui,sans-serif;color:#d0d0d0;line-height:1.7} .hero{text-align:center;padding:50px 20px 30px;border-bottom:1px solid #1a1a1a;background:linear-gradient(180deg,#0a0a0a 0%,#050505 100%)} .site-title{font-size:0.85rem;letter-spacing:4px;text-transform:uppercase;color:#909090;margin-bottom:20px} .site-title a{color:#909090;text-decoration:none;transition:color 0.3s} .site-title a:hover{color:#b0b0b0} h1{font-size:2.4rem;font-weight:200;letter-spacing:3px;margin-bottom:15px;color:#fff} .hero p{color:#909090;font-size:1rem;max-width:750px;margin:0 auto} .main-container{max-width:1400px;margin:0 auto;padding:25px} .chart-section{background:linear-gradient(135deg,#0a0a0a 0%,#0d0d0d 100%);border-radius:10px;padding:30px;margin-bottom:30px;border:1px solid #1a1a1a;box-shadow:0 4px 30px rgba(0,0,0,0.5)} .display-row{display:flex;justify-content:center;align-items:baseline;gap:40px;margin-bottom:20px;flex-wrap:wrap} .year-display{font-size:3.2rem;font-weight:200;color:#fff;font-family:'Courier New',monospace} .pop-display{font-size:1.5rem;color:#a0a0a0} .era-display{font-size:0.85rem;color:#858585;text-transform:uppercase;letter-spacing:2px} .chart-container{position:relative;height:450px;cursor:grab;overflow:hidden} .chart-container:active,.chart-container.dragging{cursor:grabbing} .chart-canvas{width:100%;height:100%} .question-mark{position:absolute;right:6%;top:8%;font-size:9rem;font-weight:200;color:rgba(255,70,70,0.5);opacity:0;transition:opacity 1.2s ease-in;pointer-events:none;text-shadow:0 0 50px rgba(255,70,70,0.3);font-family:Georgia,serif} .y-axis-label{position:absolute;left:10px;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left center;font-size:0.7rem;color:#858585;letter-spacing:1px} .timeline-hint{text-align:center;color:#808080;font-size:0.75rem;margin-top:10px;font-style:italic} .controls{text-align:center;margin-top:20px} button{padding:12px 50px;font-size:0.9rem;background:transparent;border:1px solid #333;color:#aaa;cursor:pointer;transition:all 0.3s;letter-spacing:2px;text-transform:uppercase} button:hover{background:#fff;color:#000;border-color:#fff} .marker-legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px;padding-top:15px;border-top:1px solid #1a1a1a} .marker-item{display:flex;align-items:center;gap:6px;font-size:0.7rem;color:#909090} .marker-dot{width:8px;height:8px;border-radius:50%} .marker-dot.red{background:rgba(200,80,80,0.8)} .marker-dot.blue{background:rgba(80,120,200,0.8)} .marker-dot.green{background:rgba(80,200,120,0.8)} .marker-dot.yellow{background:rgba(200,180,80,0.8)} .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:25px} .stat-box{text-align:center;padding:22px 10px;background:#080808;border:1px solid #151515;border-radius:6px} .stat-value{font-size:1.6rem;color:#fff;font-weight:200} .stat-label{font-size:0.65rem;color:#909090;text-transform:uppercase;letter-spacing:1px;margin-top:6px} .perspective-box{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;padding:25px;background:linear-gradient(135deg,#0a0808 0%,#0d0a0a 100%);border:1px solid #2a1515;border-radius:8px} .perspective-stat{text-align:center;padding:10px} .perspective-value{display:block;font-size:2rem;font-weight:200;color:#cc8888;margin-bottom:8px} .perspective-desc{font-size:0.8rem;color:#a0a0a0;line-height:1.5} .perspective-desc strong{color:#aa7777} .section-title{font-size:1.3rem;font-weight:300;color:#fff;margin:55px 0 25px;padding-bottom:12px;border-bottom:1px solid #1a1a1a;letter-spacing:2px;text-transform:uppercase} .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px} .info-card{background:linear-gradient(135deg,#0a0a0a 0%,#0d0d0d 100%);border:1px solid #1a1a1a;border-radius:8px;padding:25px} .info-card h3{font-size:0.75rem;text-transform:uppercase;letter-spacing:2px;color:#909090;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #1a1a1a} .info-card.warning{border-color:#2a1515;background:linear-gradient(135deg,#0a0808 0%,#0d0a0a 100%)} .info-card.warning h3{color:#cc7777;border-color:#2a1515} .info-card.ai-section{border-color:#152a20;background:linear-gradient(135deg,#080a08 0%,#0a0d0a 100%)} .info-card.ai-section h3{color:#77bb88;border-color:#152a20} .info-card.feedback-loop{border-color:#2a2515;background:linear-gradient(135deg,#0a0908 0%,#0d0c0a 100%)} .info-card.feedback-loop h3{color:#ccaa77;border-color:#2a2515} .loop-chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:15px;padding:15px;background:rgba(0,0,0,0.3);border-radius:6px} .loop-node{background:rgba(204,170,119,0.15);border:1px solid rgba(204,170,119,0.3);padding:6px 12px;border-radius:4px;font-size:0.8rem;color:#ccaa77} .loop-arrow{color:#666;font-size:1.2rem} .loop-desc{font-size:0.85rem;color:#909090;line-height:1.6} .checkpoint{display:flex;align-items:flex-start;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #111} .checkpoint:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0} .checkpoint-year{min-width:95px;font-family:'Courier New',monospace;color:#ccc;font-size:0.8rem} .checkpoint-pop{min-width:75px;color:#909090;font-size:0.8rem} .checkpoint-event{color:#b0b0b0;font-size:0.8rem} .factor-item,.threat-item,.ai-item{margin-bottom:14px;padding-left:15px;border-left:2px solid #222;transition:border-color 0.3s} .factor-item:hover{border-left-color:#666} .threat-item{border-left-color:#331a1a} .threat-item:hover{border-left-color:#884444} .ai-item{border-left-color:#1a331a} .ai-item:hover{border-left-color:#448844} .factor-title{color:#ddd;font-size:0.85rem;margin-bottom:4px} .factor-desc{color:#a0a0a0;font-size:0.8rem} .threat-title{color:#dd9999;font-size:0.85rem;margin-bottom:4px} .threat-desc{color:#a0a0a0;font-size:0.8rem} .ai-title{color:#99cc99;font-size:0.85rem;margin-bottom:4px} .ai-desc{color:#a0a0a0;font-size:0.8rem} .robot-section{background:linear-gradient(135deg,#080a08 0%,#0a0d0a 100%);border:1px solid #1a2a1a;border-radius:10px;padding:40px;margin-top:45px} .robot-section h2{font-size:1rem;font-weight:400;color:#77aa88;margin-bottom:25px;text-transform:uppercase;letter-spacing:3px} .robot-section p{color:#b0b0b0;margin-bottom:18px;font-size:0.95rem} .robot-section p:last-child{margin-bottom:0} .robot-section em{color:#99ccaa;font-style:normal} .robot-section strong{color:#ddd;font-weight:400} .ai-tabs{display:flex;gap:10px;margin-bottom:25px;border-bottom:1px solid #1a2a1a;padding-bottom:15px;flex-wrap:wrap} .ai-tab{padding:8px 20px;background:transparent;border:1px solid #1a2a1a;color:#8899aa;cursor:pointer;font-size:0.8rem;letter-spacing:1px;text-transform:uppercase;transition:all 0.3s;border-radius:4px} .ai-tab:hover{border-color:#2a3a2a;color:#77aa88} .ai-tab.active{background:#1a2a1a;border-color:#2a3a2a;color:#77aa88} .ai-content{min-height:200px} .ai-content p{color:#b0b0b0;margin-bottom:18px;font-size:0.95rem} .ai-content p:last-child{margin-bottom:0} .ai-content em{color:#99ccaa;font-style:normal} .ai-content strong{color:#ddd;font-weight:400} .version-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px;padding-top:20px;border-top:1px solid #1a2a1a} .version-arrow{background:transparent;border:1px solid #1a2a1a;color:#8899aa;width:36px;height:36px;cursor:pointer;font-size:1rem;transition:all 0.3s;border-radius:4px;padding:0;display:flex;align-items:center;justify-content:center} .version-arrow:hover:not(:disabled){border-color:#2a3a2a;color:#77aa88} .version-arrow:disabled{opacity:0.3;cursor:not-allowed} .version-info{font-size:0.75rem;color:#8899aa;letter-spacing:1px;min-width:150px;text-align:center} .prompt-subtitle{background:rgba(30,50,35,0.3);border:1px solid #1a2a1a;border-radius:6px;padding:15px 20px;margin-bottom:25px;font-size:0.75rem;color:#99aabb;line-height:1.6;font-style:italic} .prompt-subtitle strong{color:#77aa88;font-weight:400} .prompt-subtitle a{color:#88bb88;text-decoration:none} .prompt-subtitle a:hover{color:#aaddaa;text-decoration:underline} .malthus-section{background:linear-gradient(135deg,#0d0a08 0%,#100d0a 100%);border:1px solid #2a2015;border-radius:10px;padding:40px;margin-top:40px;margin-bottom:10px} .malthus-header{text-align:center;margin-bottom:30px} .malthus-header h2{font-size:1.3rem;font-weight:300;color:#c9a868;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px} .malthus-subtitle{font-size:0.9rem;color:#bbaa88;font-style:italic} .malthus-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;align-items:start} .malthus-card{background:rgba(0,0,0,0.3);border:1px solid #2a2015;border-radius:8px;padding:25px} .malthus-quote{font-size:1.1rem;color:#b89858;line-height:1.6;font-style:italic;margin-bottom:15px} .malthus-source{font-size:0.75rem;color:#bbaa88;text-align:right} .malthus-source em{font-style:italic} .malthus-content p{color:#b0b0b0;font-size:0.9rem;margin-bottom:15px;line-height:1.6} .malthus-content p:last-child{margin-bottom:0} .malthus-content strong{color:#c9a868;font-weight:400} @media (max-width:900px){.malthus-grid{grid-template-columns:1fr} } .footnote{text-align:center;padding:35px 20px;color:#909090;font-size:0.75rem;border-top:1px solid #111;margin-top:50px} .footnote a{color:#7861f3;text-decoration:none;transition:color 0.3s} .footnote a:hover{color:#9d8af7} .references{max-width:1200px;margin:0 auto;padding:40px 25px 60px} .references h2{font-size:1.2rem;font-weight:300;color:#a0a0a0;margin-bottom:30px;text-transform:uppercase;letter-spacing:2px;text-align:center} .ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px} .ref-category{background:#080808;border:1px solid #151515;border-radius:8px;padding:20px} .ref-category h4{font-size:0.7rem;text-transform:uppercase;letter-spacing:2px;color:#909090;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #1a1a1a} .ref-category ol{list-style:none;padding:0;margin:0} .ref-category li{font-size:0.75rem;color:#909090;margin-bottom:12px;padding-left:0;line-height:1.5} .ref-category li:last-child{margin-bottom:0} .ref-category li em{color:#b0b0b0;font-style:italic} .ref-category li a{color:#6b5ce7;text-decoration:none;transition:color 0.3s} .ref-category li a:hover{color:#8b7cf7} @media (max-width:768px){h1{font-size:1.8rem} .year-display{font-size:2rem} .stats-row{grid-template-columns:repeat(2,1fr)} .perspective-box{grid-template-columns:1fr} .perspective-value{font-size:1.6rem} .display-row{gap:20px} .info-grid{grid-template-columns:1fr} .question-mark{font-size:5rem;right:5%} .chart-container{height:350px} .ref-grid{grid-template-columns:1fr} }