body{margin:0;padding:0;background:#000;color:#f8cc30;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;overflow:hidden}#three-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none}#text-input{position:absolute;top:calc(40vh - 50px);left:50%;transform:translate(-50%);width:90%;max-width:900px;border:none;outline:none;resize:none;background:transparent;color:inherit;caret-color:#f8cc30;font-size:20px;text-align:center;overflow:hidden}#instructions{position:absolute;top:calc(40vh - 110px);left:50%;transform:translate(-50%);font-size:14px;color:#f8cc30;transition:opacity 1s ease-in-out}#char-counter{position:absolute;top:calc(40vh + 165px);left:50%;transform:translate(-50%);font-size:12px;color:#f8cc30;font-family:monospace}.overlay-text{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:1}#about-btn{position:fixed;bottom:20px;right:20px;background:#000c;color:#f8cc30;border:1px solid black;padding:8px 16px;font-size:15px;font-family:inherit;cursor:pointer;border-radius:4px;transition:all .3s ease;z-index:1000}#about-btn:hover{background:#f8cc301a;border-color:#f8cc30}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:#000c;opacity:0;transition:opacity .3s ease}.modal.show{display:block;opacity:1}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000f2;border:1px solid #f8cc30;padding:40px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;border-radius:8px;font-family:inherit;color:#f8cc30}.modal-content h2{margin:0 0 10px;font-size:24px;font-weight:400;color:#f8cc30}.modal-content .byline{margin:0 0 30px;font-size:14px;opacity:.8;font-style:italic}.modal-content .story p{margin:0 0 20px;line-height:1.6;font-size:16px}.modal-content .story p:last-child{margin-bottom:0}.close-btn{position:absolute;top:15px;right:20px;color:#f8cc30;font-size:28px;font-weight:400;cursor:pointer;transition:opacity .3s ease}.close-btn:hover{opacity:.7}a{color:#fff;text-decoration:underline;transition:opacity .3s ease}a:visited{color:#fff}a:hover{opacity:.8}a:active{color:#fff}@media (max-width: 768px){.modal-content{padding:30px 20px;width:95%}.modal-content h2{font-size:20px}.modal-content .story p{font-size:14px}}
