body{background:var(--bg)}.thumbnail{background-color:var(--bg);border:1px solid #7c1717;color:#a8a8b0;font-size:13pt}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:var(--bg);color:#a8a8b0}#canvas-wrapper{position:relative;width:100%;margin:0 auto;display:block;overflow:hidden}#temple_stage{display:block;width:100%;height:auto}#mainCanvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;cursor:default}.control-btn{margin-right:10px;margin-bottom:5px;padding:6px 12px;background:#333;color:#d4af37;border:1px solid #d4af37;border-radius:4px;font-size:14px;transition:all .2s ease;cursor:pointer}.control-btn:hover{background:#555;color:#fff;text-decoration:none}.control-btn.disabled,.control-btn:disabled{background:#222;border-color:#444;cursor:not-allowed;opacity:.6;text-shadow:none}.control-btn.disabled:hover,.control-btn:disabled:hover{background:#222}.control-btn.active{background:#d4af37;color:#000;font-weight:bold}.control-point{position:absolute;width:12px;height:12px;background:#0ff;border:2px solid #fff;border-radius:50%;z-index:4000;transform:translate(-50%,-50%);display:none;padding:15px;background-clip:content-box;box-shadow:0 0 5px rgba(0,0,0,0.8);cursor:grab}.control-point.active{display:block !important}.control-point.dragging{background-color:#f33;cursor:grabbing;transform:translate(-50%,-50%) scale(1.2)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:9999;display:none;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.modal-overlay.show{display:flex !important;opacity:1}.modal-card{background:linear-gradient(135deg,#2a0f0a 0,#1a0502 100%);border:1px solid #d4af37;border-radius:8px;box-shadow:0 0 30px rgba(0,0,0,0.8),inset 0 0 20px rgba(212,175,55,0.1);padding:25px;width:90%;max-width:400px;color:#d4af37;position:relative;margin:0;transform:scale(0.9);transition:transform .3s ease;font-family:'Noto Serif SC',serif}.modal-overlay.show .modal-card{transform:scale(1)}.modal-title{font-size:20px;font-weight:bold;margin-bottom:20px;text-align:center;color:#fff}.form-group-cus{margin-bottom:15px}.form-label-cus{display:block;font-size:14px;margin-bottom:5px;color:#aaa}.form-input-cus,.form-select-cus,.form-textarea-cus{width:100%;background:#000;border:1px solid #555;color:#fff;padding:8px;border-radius:4px;box-sizing:border-box;font-family:inherit}.form-input-cus:focus,.form-select-cus:focus,.form-textarea-cus:focus{outline:0;border-color:#d4af37}.form-textarea-cus{min-height:80px;resize:vertical}.form-checkbox-group{display:flex;align-items:center;gap:10px;cursor:pointer;color:#aaa;user-select:none}.form-checkbox{width:16px;height:16px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-cancel,.btn-confirm{padding:8px 20px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s ease;border:0}.btn-confirm.disabled,.btn-confirm:disabled{cursor:not-allowed;opacity:.6;text-shadow:none}.btn-cancel{background:transparent;border:1px solid #555;color:#aaa}.btn-cancel:hover{background:#333;border-color:#777}.btn-confirm{background:#d4af37;color:#2a0f0a;font-weight:bold}.btn-confirm:hover{background:#e5c048}.detail-name{font-size:28px;font-weight:bold;margin-bottom:10px;text-align:center;color:#fff;text-shadow:0 0 10px #fa0}.detail-desc{font-size:16px;line-height:1.6;color:#ffd700;text-align:center;min-height:50px;border-top:1px solid rgba(212,175,55,0.3);padding-top:15px;margin-top:10px}.detail-msg{font-size:21px;line-height:1.6;color:#ffd700;text-align:center;min-height:50px;margin-top:15px;margin-bottom:15px}.toast-cus{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.85);color:#fff;padding:10px 24px;border-radius:20px;font-size:14px;z-index:8000;pointer-events:none;display:none;border:1px solid rgba(255,255,255,0.2);box-shadow:0 4px 12px rgba(0,0,0,0.5)}#exportText{width:100%;height:160px;background:#111;color:#aaa;border:1px solid #444;padding:10px;font-family:'Courier New',monospace;font-size:12px;resize:vertical}.ritual-altar{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,0.8) 100%);padding:5px 0;z-index:30;transition:opacity .3s ease;height:118px}.ritual-altar.vfx-active{pointer-events:none;opacity:.5}.worship-container{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:20px;max-width:800px;margin:0 auto;padding:0 15px}.worship-item{cursor:pointer;transition:transform .2s ease;flex:0 0 auto;width:auto}.worship-item:active{transform:scale(0.95)}.icon-box{margin:0 auto;border-radius:15px;display:flex;align-items:end;justify-content:center;transition:all .3s ease;position:relative;overflow:hidden}.icon-box::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,204,0,0.1) 0,transparent 70%);opacity:0;transition:opacity .3s ease}.worship-item:hover .icon-box::before{opacity:1}.icon-box img{max-width:90%;max-height:90%;filter:grayscale(0.2) opacity(0.9);transition:all .3s ease;position:relative;z-index:1}.worship-item:hover .icon-box{border-color:#fc0;box-shadow:0 0 30px rgba(255,204,0,0.6),inset 0 0 20px rgba(255,204,0,0.1);transform:translateY(-8px) scale(1.05)}.worship-item:hover .icon-box img{filter:grayscale(0) opacity(1) drop-shadow(0 0 5px rgba(255,204,0,0.5))}.worship-item:active .icon-box{transform:translateY(-5px) scale(0.98)}.worship-label{margin-top:5px;font-size:14px;color:#765;font-weight:bold;text-align:center;transition:color .3s ease}.worship-item:hover .worship-label{color:#fc0}#vfx-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20}#flash-bang{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;opacity:0;pointer-events:none;z-index:100;transition:opacity .5s ease-out}@media(max-width:1860px){.ritual-altar{height:91px}}@media(max-width:1258px){.ritual-altar{height:81px}.icon-box{width:52px;height:52px;border-radius:10px}}@media(max-width:768px){.modal-card{width:95%;padding:20px}.worship-container{gap:10px}.icon-box{width:36px;height:36px;border-radius:10px}.worship-label{font-size:11px;margin-top:4px}.ritual-altar{padding:8px 0;height:auto}}@media(max-width:480px){.modal-title{font-size:18px}.detail-name{font-size:24px}.worship-container{gap:6px}.icon-box{width:32px;height:32px;border-radius:8px}.worship-label{font-size:10px;margin-top:2px;display:none}.ritual-altar{padding:5px 0;height:auto}}.modal-overlay{background:transparent}
