@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}body{background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}.instructions{z-index:50;color:#fff;text-shadow:0 2px 8px #000000e6;opacity:.9;font-family:Georgia,Palatino,Times New Roman,serif;font-size:1.35rem;line-height:1.4;position:fixed;top:20px;left:20px}.instructions p{letter-spacing:1px;margin:0;font-style:italic;font-weight:300}.scene-container{width:100vw;height:100vh;position:relative;overflow:hidden}.background-image{z-index:0;background-image:url(/library.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.placeholder-text{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;font-size:1.5rem;display:flex}.hotspot{cursor:pointer;z-index:10;opacity:.7;background:radial-gradient(circle,#ffd70040 0%,#ffd70014 70%);border:2px solid #ffd70066;border-radius:50%;width:35px;height:35px;transition:all .4s;animation:3s ease-in-out infinite gentle-pulse;position:absolute;transform:translate(-50%,-50%)}.hotspot:hover{opacity:1;background:radial-gradient(circle,#ffd70080 0%,#ffd70033 70%);border:2px solid #ffd700cc;animation:none;transform:translate(-50%,-50%)scale(1.4);box-shadow:0 0 20px #ffd70099}.hotspot-pulse{background:#ffd70026;border-radius:50%;width:100%;height:100%;animation:3s ease-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes gentle-pulse{0%,to{opacity:.7;box-shadow:0 0 8px #ffd7004d}50%{opacity:.9;box-shadow:0 0 15px #ffd70080}}@keyframes pulse{0%{opacity:.3;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}.info-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;z-index:20;background:#000000d9;border:1px solid #ffd7004d;border-radius:15px;width:90%;max-width:500px;padding:2rem;animation:.3s ease-out slideUp;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.info-panel h2{color:gold;margin-bottom:1rem;font-size:1.5rem}.info-panel p{color:#e0e0e0;line-height:1.6}.close-button{color:gold;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;transition:transform .2s;position:absolute;top:10px;right:15px}.close-button:hover{color:#fff;transform:scale(1.2)}.music-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:20;background:#000000b3;border:2px solid #ffd70080;border-radius:25px;padding:.75rem 1.5rem;font-size:1rem;transition:all .3s;position:fixed;top:20px;right:20px;box-shadow:0 4px 15px #0000004d}.music-button:hover{background:#ffd70033;border-color:gold;transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.music-button:active{transform:translateY(0)}.envelope-overlay{z-index:100;cursor:pointer;background:0 0;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.envelope-image{object-fit:contain;cursor:pointer;background:0 0;border-radius:8px;max-width:90%;max-height:90vh;transition:opacity .5s ease-out,transform .5s ease-out;animation:.4s ease-out zoomIn;box-shadow:0 20px 60px #00000080}.envelope-image.transitioning{opacity:.7;transform:scale(.95)}.letter-reveal{cursor:default;animation:.6s ease-out letterAppear}@keyframes letterAppear{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.chatbox{background:linear-gradient(135deg,#f5e6d3 0%,#e8d5c4 100%);border:3px solid #8b6f47;border-radius:8px;flex-direction:column;width:90%;max-width:700px;max-height:85vh;padding:2.5rem 2rem;font-family:Georgia,Palatino,Times New Roman,serif;animation:.4s ease-out zoomIn;display:flex;position:relative;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff4d}.chatbox:before{content:"";background:linear-gradient(#0000 0%,#8b6f474d 5% 95%,#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:50px;box-shadow:1px 0 2px #0000001a}.chatbox-title{color:#5d4e37;text-align:center;text-shadow:1px 1px 2px #ffffff80;letter-spacing:1px;margin-bottom:1.5rem;font-family:Georgia,serif;font-size:2rem;font-style:italic;font-weight:600}.chatbox-messages{background:#fff6 repeating-linear-gradient(#0000,#0000 31px,#8b6f4726 31px 32px);border:1px solid #8b6f4733;border-radius:4px;flex:1;min-height:350px;max-height:450px;margin-bottom:1.5rem;padding:1.5rem 1.5rem 1.5rem 70px;line-height:32px;overflow-y:auto;box-shadow:inset 0 2px 8px #0000000d}.chatbox-messages::-webkit-scrollbar{width:8px}.chatbox-messages::-webkit-scrollbar-track{background:#8b6f471a;border-radius:4px}.chatbox-messages::-webkit-scrollbar-thumb{background:#8b6f4766;border-radius:4px}.chatbox-messages::-webkit-scrollbar-thumb:hover{background:#8b6f4799}.chatbox-placeholder{color:#5d4e3780;text-align:center;margin-top:3rem;font-size:1.1rem;font-style:italic}.chat-message{margin-bottom:1.5rem;padding:.5rem 0;line-height:32px;animation:.3s ease-out fadeIn}.chat-message.user{color:#2c5f2d;font-weight:500}.chat-message.assistant{color:#3d2817;font-style:italic}.chat-message p{word-wrap:break-word;margin:0;line-height:32px}.chatbox-form{gap:.75rem;padding-left:50px;display:flex}.chatbox-input{color:#3d2817;background:#ffffffb3;border:2px solid #8b6f4766;border-radius:6px;outline:none;flex:1;padding:.875rem 1.25rem;font-family:Georgia,serif;font-size:1rem;transition:all .3s;box-shadow:inset 0 2px 4px #0000000d}.chatbox-input:focus{background:#ffffffe6;border-color:#8b6f47;box-shadow:inset 0 2px 4px #0000000d,0 0 0 3px #8b6f471a}.chatbox-input::placeholder{color:#5d4e3780;font-style:italic}.chatbox-send{color:#f5e6d3;cursor:pointer;background:linear-gradient(135deg,#8b6f47 0%,#6d5635 100%);border:2px solid #5d4e37;border-radius:6px;padding:.875rem 1.75rem;font-family:Georgia,serif;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 8px #0003}.chatbox-send:hover:not(:disabled){background:linear-gradient(135deg,#6d5635 0%,#5d4e37 100%);transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.chatbox-send:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0003}.chatbox-send:disabled{opacity:.5;cursor:not-allowed}.chatbox .close-button{color:#8b6f47;z-index:10;font-size:2.5rem;top:15px;right:20px}.chatbox .close-button:hover{color:#5d4e37}.trivia-container{background:linear-gradient(135deg,#f5e6d3 0%,#e8d5c4 100%);border:3px solid #8b6f47;border-radius:8px;width:90%;max-width:700px;max-height:85vh;padding:2.5rem 2rem;font-family:Georgia,Palatino,Times New Roman,serif;animation:.4s ease-out zoomIn;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff4d}.trivia-title{color:#5d4e37;text-align:center;text-shadow:1px 1px 2px #ffffff80;letter-spacing:1px;margin-bottom:1rem;font-family:Georgia,serif;font-size:2rem;font-style:italic;font-weight:600}.trivia-score{text-align:center;color:#8b6f47;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.trivia-loading{text-align:center;color:#5d4e37;padding:3rem;font-size:1.2rem;font-style:italic}.trivia-content{padding:1rem}.trivia-question{color:#3d2817;text-align:center;margin-bottom:2rem;font-size:1.3rem;font-weight:500;line-height:1.6}.trivia-options{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.trivia-option{color:#3d2817;cursor:pointer;text-align:left;background:#ffffffb3;border:2px solid #8b6f4766;border-radius:6px;padding:1rem 1.5rem;font-family:Georgia,serif;font-size:1.1rem;transition:all .3s;box-shadow:inset 0 2px 4px #0000000d}.trivia-option:hover:not(:disabled){background:#ffffffe6;border-color:#8b6f47;transform:translate(5px)}.trivia-option.selected{background:#ffd70033;border-width:3px;border-color:#8b6f47}.trivia-option.correct{background:#4caf5033;border-width:3px;border-color:#4caf50}.trivia-option.incorrect{background:#f4433633;border-width:3px;border-color:#f44336}.trivia-option:disabled{cursor:default}.trivia-feedback{border-radius:6px;margin:2rem 0;padding:1.5rem;animation:.3s ease-out fadeIn}.trivia-feedback.correct-feedback{background:#4caf5026;border:2px solid #4caf50}.trivia-feedback.incorrect-feedback{background:#f4433626;border:2px solid #f44336}.feedback-title{color:#3d2817;margin-bottom:.75rem;font-size:1.3rem;font-weight:600}.trivia-feedback.correct-feedback .feedback-title{color:#2e7d32}.trivia-feedback.incorrect-feedback .feedback-title{color:#c62828}.feedback-explanation{color:#3d2817;font-size:1.05rem;line-height:1.6}.trivia-actions{justify-content:center;margin-top:2rem;display:flex}.trivia-submit,.trivia-next{color:#f5e6d3;cursor:pointer;background:linear-gradient(135deg,#8b6f47 0%,#6d5635 100%);border:2px solid #5d4e37;border-radius:6px;padding:.875rem 2rem;font-family:Georgia,serif;font-size:1.1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 8px #0003}.trivia-submit:hover:not(:disabled),.trivia-next:hover{background:linear-gradient(135deg,#6d5635 0%,#5d4e37 100%);transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.trivia-submit:disabled{opacity:.5;cursor:not-allowed}.trivia-container .close-button{color:#8b6f47;z-index:10;font-size:2.5rem;top:15px;right:20px}.trivia-container .close-button:hover{color:#5d4e37}.memory-game-container{background:linear-gradient(135deg,#f5e6d3 0%,#e8d5c4 100%);border:3px solid #8b6f47;border-radius:8px;width:90%;max-width:700px;max-height:90vh;padding:2.5rem 2rem;font-family:Georgia,Palatino,Times New Roman,serif;animation:.4s ease-out zoomIn;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff4d}.memory-game-title{color:#5d4e37;text-align:center;text-shadow:1px 1px 2px #ffffff80;letter-spacing:2px;margin-bottom:1.5rem;font-family:Georgia,serif;font-size:2rem;font-style:italic;font-weight:600}.memory-game-container .close-button{color:#8b6f47;z-index:10;font-size:2.5rem;top:15px;right:20px}.memory-game-container .close-button:hover{color:#5d4e37}
