body{margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#000}#canvas-container{width:100vw;height:100vh;position:relative}#ui-overlay{position:absolute;top:20px;left:20px;color:#fff;background:rgba(0,0,0,.3);padding:10px;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:200px;font-size:12px;opacity:.7}#ui-overlay h2{font-size:16px;margin:0 0 5px}#ui-overlay p{margin:3px 0;line-height:1.3}#dialogue-box{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:rgba(255,255,255,.95);color:#333;padding:20px;border-radius:15px;max-width:600px;width:90%;display:none;box-shadow:0 10px 30px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}#dialogue-box h3{margin:0 0 10px;color:#d97356}#dialogue-content{margin:10px 0;line-height:1.6;max-height:200px;overflow-y:auto}.dialogue-option{background:#f0f0f0;border:2px solid #D97356;padding:12px;margin:8px 0;border-radius:8px;cursor:pointer;transition:all .3s}.dialogue-option:hover{background:#D97356;color:#fff;transform:translate(5px)}#custom-question-container{margin-top:15px;padding-top:15px;border-top:1px solid #ddd}#custom-question-input{width:100%;padding:10px;border:2px solid #D97356;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box}#custom-question-submit{background:#D97356;color:#fff;border:none;padding:10px 20px;border-radius:8px;margin-top:8px;cursor:pointer;font-size:14px;transition:all .3s}#custom-question-submit:hover{background:#c85a3f;transform:translateY(-2px);box-shadow:0 4px 8px #0003}#custom-question-submit:disabled{background:#999;cursor:not-allowed;transform:none}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(217,115,86,.3);border-radius:50%;border-top-color:#d97356;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.instruction{opacity:.8;font-size:14px;margin-top:10px}#interaction-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:10px 20px;border-radius:20px;display:none;font-size:14px}.floating-text{position:absolute;color:#ff0;font-size:24px;font-weight:700;pointer-events:none;animation:floatUp 2s ease-out forwards;text-shadow:2px 2px 4px rgba(0,0,0,.8)}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100px)}}#mobile-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}#mobile-intro-btn{position:absolute;bottom:50%;left:50%;transform:translate(-50%);background:rgba(217,115,86,.9);color:#fff;padding:15px 30px;border-radius:25px;font-size:18px;font-weight:700;pointer-events:auto;cursor:pointer;box-shadow:0 4px 15px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s;display:none}#mobile-intro-btn:active{transform:translate(-50%) scale(.95);background:rgba(217,115,86,1)}#mobile-controls{position:absolute;top:0;left:0;width:100%;height:100%;display:none}#mobile-joystick{position:absolute;bottom:20px;left:20px;width:100px;height:100px;pointer-events:auto}#joystick-area{position:relative;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.5);margin:0 auto 5px}#joystick-stick{position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;background:rgba(217,115,86,.8);transform:translate(-50%,-50%);transition:all .1s}#mobile-joystick>div:last-child{text-align:center;color:#fff;font-size:12px;opacity:.7}#mobile-actions{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;pointer-events:auto}#mobile-actions button{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.5);color:#fff;padding:12px 16px;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:80px}#mobile-actions button:active{background:rgba(217,115,86,.8);border-color:#d97356;transform:scale(.95)}#mobile-ui-overlay{position:absolute;top:20px;left:20px;color:#fff;background:rgba(0,0,0,.3);padding:10px;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:200px;font-size:12px;opacity:.7;display:none}#mobile-ui-overlay h2{font-size:16px;margin:0 0 5px}#mobile-ui-overlay p{margin:3px 0;line-height:1.3}#mobile-nav{display:block}#ui-overlay{display:none}#mobile-ui-overlay{display:block}
