*{box-sizing:border-box}: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;--footer-height: 120px}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html{margin:0;padding:0;background-color:#1a1a1a;overflow-x:hidden}body{min-width:320px;min-height:100vh;color:#fff;font-family:sans-serif;background-color:#1a1a1a;margin:0;padding:0;overflow-x:hidden}.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#1a1a1a}.main-content{flex:1;width:100%;background:#1a1a1a}h1{font-family:Jolly Lodger,system-ui;font-weight:400;font-style:normal;font-size:8rem;color:#fff;letter-spacing:.3em;text-align:center;margin:40px 0;line-height:1.1;text-shadow:1px 1px 2px rgba(200,200,200,.3)}h2{font-family:Jolly Lodger,system-ui;font-size:4em;letter-spacing:.1rem;text-align:center;color:#fff}h3{font-size:1.6em;color:#fff}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}.footer{background:#333;color:#eee;padding:30px 10px;text-align:center;width:100%;margin-top:80px;flex-shrink:0}.footer-content{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px}.footer-links{font-size:1.5rem;display:flex;gap:20px;flex-wrap:wrap}.footer-links a{color:gold;text-decoration:none;font-weight:500;transition:color .3s ease}.footer-links a:hover{color:#fff}.intro-container{position:relative;min-height:100vh;height:100%;overflow:hidden;background:#1a1a1a}.intro-container:before{content:"";position:absolute;inset:0;background-image:url(/intro-screen.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;filter:grayscale(100%) brightness(40%);z-index:0}.intro-overlay{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;padding:2rem;z-index:1}.intro-container p{font-size:2rem;line-height:2}.intro-title{font-size:2.5rem;margin-bottom:1rem}.intro-subtitle{font-size:1.2rem;max-width:600px;line-height:1.5;margin-bottom:2rem;color:#ccc}.intro-button{background-color:#b8860b;color:#fff;font-size:2.5rem;padding:1.5rem 1.8rem;border:none;border-radius:8px;cursor:pointer;transition:transform .2s ease,background .3s ease;margin-top:2rem}.intro-button:hover{background-color:#daa520;transform:scale(1.05)}.about-container{display:flex;flex-direction:column;margin:20px 20px 0;background:#1a1a1a;color:#e5e5e5;font-family:Playfair Display,serif;line-height:1.6;gap:2rem;padding:1rem 10px}.about-container h2{letter-spacing:.1rem;text-align:center;color:#fff;margin:20px 5px 0}.about-section{display:flex;align-items:center;gap:1rem;margin:0;padding:18px}.about-section .section-left{flex-direction:row}.about-section .section-right{flex-direction:row-reverse}.about-section .about-paragraph{flex:1;font-size:1.5rem;line-height:1.5;padding:30px}.about-section .about-paragraph strong{font-size:2rem}.about-section .about-image{flex:1;max-width:80%;border:8px inset #f4f1ea;border-radius:8px}.about-figure{flex:1;text-align:center}.about-caption{font-size:1.5rem;color:#ccc;margin-top:.5rem;font-style:italic}.about-section .about-paragraph-final{font-style:italic;font-size:1.5rem;padding:40px;margin-top:40px}.about-paragraph-final a{color:gold;text-decoration:none}@media (max-width: 768px){h1{font-size:6rem}h2{font-size:2.5rem}.intro-container .intro-overlay h1{font-size:5rem;line-height:1}.intro-container .intro-overlay p{font-size:1.6rem;line-height:1.4}.intro-container .intro-overlay .intro-button{font-size:1.8rem;padding:1.2rem 1.5rem}.about-container{margin:10px;padding:10px}.about-container h2{font-size:2rem;margin:10px 0 20px}.about-container .about-section{display:flex;flex-direction:column;gap:12px;padding:10px;margin:15px 0}.about-container .about-section.section-left .about-paragraph{order:1}.about-container .about-section.section-left .about-figure{order:2}.about-container .about-section.section-right .about-paragraph{order:1}.about-container .about-section.section-right .about-figure{order:2}.about-container .about-section .about-paragraph{flex:none;font-size:1.3rem;line-height:1.2;padding:0 5px}.about-container .about-section .about-paragraph strong{font-size:1.6rem}.about-container .about-section .about-figure{flex:none;width:100%;max-width:100%;margin:0;text-align:center}.about-container .about-section .about-figure .about-image{width:100%;max-width:400px;height:auto;border:4px inset #f4f1ea;border-radius:8px;margin:0 auto;display:block}.about-container .about-section .about-caption{font-size:1.1rem;color:#ccc;margin-top:8px;line-height:1.3}.about-container .about-section ul{padding-left:20px;margin:15px 0}.about-container .about-section ul li{margin-bottom:10px;font-size:1.2rem;line-height:1.4}.about-container .about-section .about-paragraph-final{font-style:italic;font-size:1.3rem;padding:15px 10px;margin-top:0;line-height:1.4}.about-container .about-paragraph-final a{color:gold;text-decoration:underline}.footer-links{font-size:1.1rem;display:flex;gap:15px;flex-wrap:nowrap}.footer p{font-size:.9rem}}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.flashcard-container{perspective:1000px;margin:50px 0;width:300px}.flashcard{position:relative;width:500px;height:800px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:40px auto;box-shadow:0 4px 8px #0003;perspective:1000px}.flashcard-inner{position:relative;width:100%;height:100%;transition:transform .8s ease;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;display:flex;flex-direction:column;width:100%;height:100%;backface-visibility:hidden;top:0;left:0;padding:1rem;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #0000004d}.flashcard-front{background:#333;color:#fff;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:1.2rem;text-align:center;overflow:visible}.image-frame{display:inline-block;margin:0 auto 15px;border:12px solid #f4f1ea;box-shadow:0 0 0 2px #8b7355,0 0 0 3px #d4c5a9,inset 0 0 30px #00000026,0 8px 25px #0006;border-radius:2px;transform:rotate(-.5deg);transition:transform .3s ease}.flashcard-front img{display:block;width:auto;max-width:280px;height:320px;object-fit:contain;filter:sepia(.15) contrast(1.1)}.flashcard-back{background:#333;color:#fff;transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1.5rem}.flashcard h3{font-size:1.5rem;margin:.4rem 0;line-height:1.3}.flashcard h4{font-size:2rem;margin:.2rem 0;font-weight:400;color:#fff}.flashcard p{font-size:.95rem;margin:.5rem 0;line-height:20px}.flashcard-front .question{font-size:1.5rem;font-style:italic;margin-top:12px;line-height:1.4}.flashcard-back .answer{margin:15px 0;font-size:1.8rem;font-style:italic;font-weight:700;color:orange;line-height:40px}.details-button{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a;font-weight:700;font-size:1.5rem;border:none;padding:12px 25px;margin-top:20px;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ffd70066}.details-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #ffd70099}.options{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:0 10px 10px;width:100%}.flashcard-front button{background-color:#646cff;color:#fff;font-size:1.4rem;font-weight:500;border:none;padding:12px 16px;border-radius:6px;cursor:pointer;transition:all .3s;width:100%;text-align:center;line-height:1.3;min-height:48px;display:flex;align-items:center;justify-content:center}.flashcard-front button:hover{background-color:#535bf2;transform:translateY(-3px);box-shadow:0 4px 8px #646cff4d}.flashcard-back .retry-info{font-size:1.8rem;margin:20px 0;padding:15px}.flashcard-back .retry-info strong{color:orange;font-weight:700;font-size:2rem}.flashcard-back .retry-button{background-color:#646cff;color:#fff;font-weight:700;font-size:1.8rem;border:none;padding:15px 22px;margin-top:20px;border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0000004d}.retry-button:hover{background-color:#535bf2;transform:scale(1.05)}@media (max-width: 768px){.timeline-item .flashcard,.timeline-item .flashcard.left,.timeline-item .flashcard.right{width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;position:relative;left:0;right:0;min-height:850px}.flashcard .flashcard-inner{width:100%;max-width:100%;box-sizing:border-box}.flashcard .flashcard-front,.flashcard .flashcard-back{padding:20px 15px;width:100%;max-width:100%;box-sizing:border-box}.flashcard .image-frame{width:100%;max-width:100%;height:auto}.flashcard .image-frame img{max-width:100%;height:auto}.flashcard-front h3{font-size:1.3rem;word-wrap:break-word}.flashcard-front .question{font-size:1.1rem;font-style:italic;margin-top:12px;line-height:1.4}.flashcard .options{display:flex;flex-direction:column;justify-content:center;width:100%;gap:10px}.flashcard .options button{max-width:100%;padding:10px 12px;font-size:.9rem;box-sizing:border-box;white-space:normal;min-height:50px}.flashcard-back h4{font-size:1.5rem;line-height:1.2}.answer{font-size:1rem}.flashcard-back .retry-info{font-size:1.6rem;margin:20px 0;padding:15px;line-height:1.3}.details-button{padding:12px 20px;font-size:1rem;margin-top:15px}.flashcard.retry-button{padding:12px 25px;font-size:1.2rem;margin-top:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #667eea66;display:block;width:auto}.retry-info{font-size:1rem;margin:15px 0}}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border:3px solid #ffd700;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #ffd7004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #ffd700}.modal-header h2{margin:0;color:gold;font-size:2rem;font-family:Jolly Lodger,cursive}.modal-close{background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:#ffffff1a;color:gold}.modal-body{padding:30px;color:#fff;line-height:1.8}.modal-body p{margin:15px 0;font-size:1.1rem}.modal-body strong{color:gold}.modal-body a{color:#646cff;text-decoration:underline;transition:color .3s ease}.modal-body a:hover{color:gold}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.5rem}.modal-body{padding:20px}}.timeline-container{position:relative;max-width:100%;width:100%;margin:0 auto;padding-top:100px;padding-bottom:400px;background:#1a1a1a}.timeline-line{position:absolute;left:50%;top:60px;height:calc(100% - 550px);width:3px;background-color:#fff;transform:translate(-50%)}.timeline-line:before{content:"🎬";position:absolute;top:-30px;left:50%;transform:translate(-50%);font-size:4rem;background:#1a1a1a;padding:20px 35px;border-radius:50%;border:3px solid #ffd700;box-shadow:0 0 20px #ffd70080}.timeline-line:after{content:"🏁";position:absolute;bottom:-120px;left:50%;transform:translate(-50%);font-size:4rem;background:#1a1a1a;padding:20px 35px;border-radius:50%;border:3px solid #ffd700;box-shadow:0 0 20px #ffd70080}.timeline-item{position:relative;display:flex;align-items:flex-start;justify-content:center;margin-bottom:200px;margin-top:190px;min-height:750px;z-index:1}.timeline-item:last-child{margin-bottom:180px}.timeline-year{position:absolute;font-family:Jolly Lodger,cursive;color:#fff;font-size:5rem;font-weight:700;top:0;transform:translateY(-30%);z-index:10;white-space:nowrap}.timeline-dot{position:absolute;width:40px;height:40px;border-radius:50%;background:#fff;left:50%;top:0;border:4px solid #ffd700;transform:translate(-50%);z-index:5;box-shadow:0 0 20px #ffd70080}.timeline-item:nth-child(odd) .timeline-year{right:calc(50% + 70px);text-align:right}.timeline-item:nth-child(2n) .timeline-year{left:calc(50% + 70px);text-align:left}.timeline-item .flashcard.left{position:absolute;right:calc(50% + 120px);top:0;transform:translateY(0)}.timeline-item .flashcard.right{position:absolute;left:calc(50% + 90px);top:0;transform:translateY(0)}.score{position:fixed;top:700px;right:40px;text-align:left;font-size:2rem;background-color:#ffffff1a;padding:15px 25px;border-radius:8px;color:#ff0;margin:40px 10px;max-width:400px;border:3px solid #666;box-shadow:0 4px 12px rgba(#666,#666,#666,.5);min-width:250px;z-index:1000}.reset-container{position:relative;display:flex;flex-direction:row;gap:40px;justify-content:center;margin:100px 0 200px;padding:40px;min-height:150px;flex-wrap:wrap}.reset-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:3rem;font-weight:700;border:none;padding:30px 40px;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #667eea66;display:flex;align-items:center;gap:10px;z-index:100;position:relative}.reset-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px #667eea99;background:linear-gradient(135deg,#764ba2,#667eea)}.reset-button:active{transform:translateY(-1px) scale(1.02)}.finish-button{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a}.finish-button:hover{background:linear-gradient(135deg,#ffed4e,gold);box-shadow:0 12px 30px #ffd70099}.finish-button:active{transform:translateY(-1px) scale(1.02)}@media (max-width: 1200px){.timeline-container{max-width:100%}.timeline-item .flashcard.left{right:calc(50% + 80px)}.timeline-item .flashcard.right{left:calc(50% + 60px)}}@media (max-width: 768px){.timeline-container{padding-top:80px;padding-left:0;padding-right:0}.timeline-line{left:40px;top:100px;transform:none}.timeline-line:before{font-size:2rem;padding:10px 15px;top:-20px;left:0;transform:translate(-50%)}.timeline-line:after{font-size:2rem;padding:10px 15px;bottom:-80px;left:0;transform:translate(-50%)}.timeline-container .timeline-item{flex-direction:column;align-items:flex-start;margin:60px 0 120px;min-height:auto;padding-left:90px;padding-right:10px;width:100%;max-width:100vw;overflow:hidden}.timeline-container .timeline-item:last-child{margin-bottom:100px}.timeline-item .timeline-year{position:absolute;left:80px;top:-5px;right:auto;transform:none;text-align:left;font-size:2.5rem;white-space:nowrap}.timeline-item:nth-child(odd) .timeline-year,.timeline-item:nth-child(2n) .timeline-year{left:50px;right:auto;text-align:left}.timeline-dot{position:absolute;left:40px;top:0;transform:translate(-50%);width:20px;height:20px}.timeline-container .timeline-item .flashcard.left,.timeline-container .timeline-item .flashcard.right{position:relative;left:0;right:0;transform:none;margin:50px 0 0;width:100%;max-width:100%}.score{display:none}.reset-container{flex-direction:column;align-items:center;gap:20px;padding:20px;margin:80px 0 150px}.reset-button{width:90%;max-width:350px;font-size:1.5rem;padding:20px 30px}}.scoreboard-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:20px}.scoreboard-card{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border:3px solid #ffd700;border-radius:20px;padding:60px 40px;max-width:600px;width:100%;text-align:center;box-shadow:0 20px 60px #ffd7004d;animation:slideIn .6s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scoreboard-title{font-family:Jolly Lodger,cursive;font-size:4rem;color:gold;margin:20px 0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.scoreboard-message{font-size:2rem;color:#fff;margin-bottom:40px;line-height:1.6}.scoreboard-stats{display:flex;justify-content:space-around;margin:40px 0;gap:20px}.stat-item{display:flex;flex-direction:column;gap:10px}.stat-label{font-size:1rem;color:#ccc;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:2.5rem;font-weight:700;color:gold}.scoreboard-quote-section{margin:1.5rem 0;font-style:italic;color:#ccc;text-align:center}.scoreboard-quote{margin-top:1rem;font-style:italic;color:#ccc;text-align:left;line-height:1.6;white-space:pre-line}.scoreboard-history{margin-top:2rem;text-align:left}.scoreboard-history ul{list-style:none;padding:0}.scoreboard-history li{background:#ffffff0d;margin:.3rem 0;padding:.5rem;border-radius:6px;font-size:.9rem}.scoreboard-actions{display:flex;flex-direction:column;gap:15px;margin-top:40px}.btn-primary,.btn-secondary,.btn-tertiary{padding:15px 30px;font-size:1.3rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea99}.btn-secondary{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffd70099}.btn-tertiary{background:transparent;border:2px solid #666;color:#fff}.btn-tertiary:hover{border-color:gold;color:gold}@media (max-width: 768px){@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scoreboard-container{min-height:auto;height:auto;align-items:flex-start;justify-content:flex-start;padding-top:20px;padding-bottom:40px}.scoreboard-card{padding:30px 20px;margin-top:20px}.scoreboard-title{font-size:2.5rem}.scoreboard-message{font-size:1.7rem;color:#fff;margin-bottom:30px;line-height:1.3}.scoreboard-stats{flex-direction:column;gap:25px}.stat-value{font-size:2rem}}#root{min-height:100vh;display:flex;flex-direction:column}
