@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Lora:ital,wght@0,500;0,600;0,700;1,400;1,600&family=Playfair+Display:ital,wght@0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--primary-gold: #c59837;--primary-gold-soft: #f4d06f;--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .85);--text-dark: #2d3142;--text-muted: #6c757d;--text-gold: #9c6c18;--lotus-pink: #e76f8a;--font-serif: "Lora", "Playfair Display", Georgia, serif;--font-sans: "Be Vietnam Pro", "Plus Jakarta Sans", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body,html{width:100%;height:100%;overflow:hidden;background-color:#e5e2da;font-family:var(--font-sans);color:var(--text-dark)}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.interactive{pointer-events:auto}.top-bar{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto}.temple-info-card{background:var(--glass-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-border);border-radius:24px;padding:8px 18px;box-shadow:0 4px 20px #0000000f;display:flex;align-items:center;gap:12px}.temple-title{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--text-gold);display:flex;align-items:center;gap:6px}.room-full{display:inline}.room-short{display:none}.temple-meta{font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:8px}.online-badge{display:inline-flex;align-items:center;gap:6px;color:#10b981;font-weight:600}.online-dot{width:7px;height:7px;background-color:#10b981;border-radius:50%;box-shadow:0 0 8px #10b981;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.25);opacity:1}to{transform:scale(.95);opacity:.8}}.top-controls{display:flex;align-items:center;gap:10px}.icon-btn{background:var(--glass-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-border);color:var(--text-dark);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 15px #0000000d}.icon-btn:hover{transform:translateY(-2px);background:#fffffff2;color:var(--primary-gold);box-shadow:0 6px 20px #0000001a}.icon-btn:active{transform:scale(.95)}.merit-pill{background:var(--glass-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-border);color:var(--text-gold);border-radius:22px;padding:8px 16px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0000000d}.merit-pill:hover{background:#fffffff2;transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}#floating-feedbacks{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:5}.floating-merit-text{position:absolute;color:#b8860b;font-size:1.35rem;font-weight:700;font-family:var(--font-serif);text-shadow:0 2px 10px rgba(255,255,255,.9),0 0 12px rgba(244,208,111,.8);animation:floatUp 1.3s cubic-bezier(.1,.8,.2,1) forwards;pointer-events:none;white-space:nowrap}@keyframes floatUp{0%{opacity:0;transform:translate(-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-25px) scale(1.15)}80%{opacity:1;transform:translate(-50%,-65px) scale(1)}to{opacity:0;transform:translate(-50%,-95px) scale(.9)}}.bottom-bar{display:flex;justify-content:center;align-items:center;width:auto;max-width:96vw;margin:0 auto;padding-bottom:12px;pointer-events:none}.action-buttons-group{pointer-events:auto;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;background:#ffffffe6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.95);padding:6px 12px;border-radius:28px;box-shadow:0 10px 32px #00000014,0 2px 6px #0000000a}.action-btn{position:relative;background:#f6f3eeb3;border:1px solid rgba(220,214,203,.65);color:var(--text-dark);border-radius:16px;padding:6px 10px 5px;font-size:.72rem;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;white-space:nowrap;transition:all .22s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 5px #00000008}.action-btn .btn-icon{font-size:1.55rem;line-height:1.1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.08));transition:transform .2s ease}.action-btn .btn-text{font-size:.68rem;font-weight:600;margin-top:3px;letter-spacing:-.1px;color:var(--text-dark)}.action-btn .key-badge{position:absolute;top:2px;right:3px;background:#0000000f;border-radius:4px;padding:0 4px;font-size:.6rem;font-family:monospace;color:#777;line-height:1.2}.action-btn:hover{background:#fff;color:var(--text-gold);transform:translateY(-2px);box-shadow:0 4px 12px #c5983733}.action-btn:active{transform:scale(.95)}.action-btn.active{background:#fff;color:#b86000;border-color:#c59837b3;box-shadow:0 0 0 2px #c5983740,0 4px 14px #c5983733;transform:translateY(-2px)}.action-btn.active .btn-icon{transform:scale(1.15)}.action-btn.active .btn-text{color:#b86000;font-weight:700}.action-btn.active .key-badge{background:#c5983726;color:var(--text-gold)}.hint-bar{display:none!important}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#ebe6dea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.95);border-radius:28px;width:100%;max-width:480px;padding:28px;box-shadow:0 20px 60px #0000001f;position:relative;transform:scale(.92);transition:transform .25s cubic-bezier(.16,1,.3,1)}.modal-backdrop.open .modal-card{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--text-gold)}.modal-close{background:none;border:none;color:#888;font-size:1.6rem;cursor:pointer;padding:4px}.modal-close:hover{color:#222}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.88rem;color:#555;margin-bottom:8px;font-weight:500}.form-input,.form-textarea{width:100%;background:#fdfbf7;border:1px solid #e2ddd3;border-radius:14px;padding:12px 14px;color:#2d3142;font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s ease}.form-input:focus,.form-textarea:focus{border-color:var(--primary-gold);background:#fff;box-shadow:0 0 10px #c5983726}.form-textarea{min-height:85px;resize:none}.color-picker-group{display:flex;gap:12px;margin-top:8px}.color-option{width:34px;height:34px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .2s ease,border-color .2s ease}.color-option.selected{border-color:#2d3142;transform:scale(1.15);box-shadow:0 2px 10px #00000026}.btn-primary{width:100%;background:linear-gradient(135deg,#c59837,#a87922);color:#fff;font-weight:600;font-size:1rem;font-family:var(--font-sans);border:none;border-radius:18px;padding:13px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #c5983740}.btn-primary:hover{background:linear-gradient(135deg,#d4a542,#b8852a);transform:translateY(-1px);box-shadow:0 6px 20px #c5983759}.btn-primary:active{transform:scale(.98)}.peace-card-preview{display:flex;justify-content:center;margin-bottom:16px}.peace-card-canvas{width:100%;max-width:340px;border-radius:14px;box-shadow:0 10px 30px #00000026}#virtual-joystick-zone{position:absolute;bottom:84px;left:18px;width:90px;height:90px;border-radius:50%;background:#ffffff73;border:1.5px solid rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:20;touch-action:none;display:none;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000014;opacity:.65;transition:opacity .2s ease}#virtual-joystick-zone:active{opacity:.95}#joystick-knob{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,#f9f7f4,#dfd7cc);border:1.5px solid rgba(197,152,55,.6);box-shadow:0 2px 8px #00000026;pointer-events:none;transform:translate(0)}.donate-pill{background:#fffffff2;border:1px solid rgba(197,152,55,.45);color:#8c5305;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.donate-pill:hover{background:#fff;border-color:var(--accent-gold);transform:translateY(-2px);box-shadow:0 4px 16px #c598374d}.donate-card{max-width:460px;max-height:92vh;overflow-y:auto;border:1px solid rgba(197,152,55,.35);box-shadow:0 24px 60px #00000026,0 0 0 1px #ffffffe6 inset;padding:22px 24px}.modal-title-group{display:flex;flex-direction:column;gap:2px}.modal-subtitle{font-size:.78rem;color:var(--text-muted);font-weight:500}.donate-content{display:flex;flex-direction:column;gap:12px;align-items:center}.donate-qr-wrapper{display:flex;flex-direction:column;align-items:center;background:#fff;padding:10px 12px 8px;border-radius:18px;border:1px solid rgba(197,152,55,.25);box-shadow:0 6px 20px #0000000d}.donate-qr-img{width:100%;max-width:170px;height:auto;border-radius:8px;transition:transform .25s ease}.donate-qr-wrapper:hover .donate-qr-img{transform:scale(1.03)}.qr-scan-badge{font-size:.72rem;color:#8c764b;margin-top:6px;font-weight:500}.donate-info-box{width:100%;background:#f6f3eeeb;border:1px solid rgba(220,214,203,.85);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:7px;font-size:.84rem}.info-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.info-label{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.info-value{color:var(--text-main);text-align:right;word-break:break-word;font-size:.84rem}.info-value.highlight{font-family:monospace;font-size:1.02rem;font-weight:700;color:#b86000;letter-spacing:.5px}.font-semibold{font-weight:600}.font-mono{font-family:monospace;background:#0000000d;padding:2px 6px;border-radius:4px;font-size:.8rem}.account-num-group{display:flex;align-items:center;gap:8px}.btn-copy-acc{background:#fff;border:1px solid rgba(197,152,55,.4);color:var(--text-gold);border-radius:8px;padding:3px 8px;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-copy-acc:hover{background:var(--text-gold);color:#fff}.donate-blessing-card{width:100%;background:#c5983714;border-left:3px solid var(--accent-gold);border-radius:0 12px 12px 0;padding:10px 12px;text-align:left}.blessing-title{font-weight:600;font-size:.82rem;color:var(--text-gold);margin-bottom:3px}.blessing-body{font-size:.78rem;line-height:1.5;color:#4a453e;font-style:italic;font-family:var(--font-serif)}.donate-confirm-btn{width:100%;padding:11px;font-size:.9rem;letter-spacing:.2px;background:linear-gradient(135deg,#d49e35,#a46d16);box-shadow:0 4px 16px #b4781440}.donate-confirm-btn:hover{background:linear-gradient(135deg,#e5b045,#b87c1c);box-shadow:0 6px 20px #b4781466}.incense-prompt-wrapper{position:absolute;bottom:112px;left:50%;transform:translate(-50%) translateY(16px);opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.16,1,.3,1);z-index:25}.incense-prompt-wrapper.active{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.incense-prompt-btn{background:linear-gradient(135deg,#fff9ee,#ffebbe);border:1.5px solid #d4a03a;border-radius:28px;padding:8px 18px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 8px 25px #d4a03a61,0 0 0 1px #fffc inset;transition:all .22s ease;animation:pulse-glow-gold 2.2s infinite}@keyframes pulse-glow-gold{0%{box-shadow:0 4px 18px #d4a03a59;transform:scale(1)}50%{box-shadow:0 6px 28px #d4a03a99;transform:scale(1.03)}to{box-shadow:0 4px 18px #d4a03a59;transform:scale(1)}}.incense-prompt-btn:hover{background:linear-gradient(135deg,#fff,#fff0cc);transform:scale(1.05)}.incense-prompt-btn:active{transform:scale(.96)}.incense-icon{font-size:1.3rem;line-height:1}.incense-text{font-family:var(--font-serif);font-weight:700;font-size:.92rem;color:#8c5305;white-space:nowrap}.incense-badge{background:#d4a03a;color:#fff;border-radius:12px;font-size:.68rem;font-weight:700;padding:2px 7px;line-height:1.2}@media(max-width:768px){#ui-overlay{padding:10px}.top-bar{display:flex;justify-content:space-between;align-items:center;width:100%;gap:6px}.temple-info-card{padding:5px 9px;border-radius:18px;gap:6px;flex-shrink:0;display:flex;align-items:center}.temple-title{font-size:.84rem;white-space:nowrap;gap:4px;display:flex;align-items:center}.room-full{display:none}.room-short{display:inline;font-size:.84rem;font-weight:700}.temple-meta{font-size:.76rem;gap:4px;display:flex;align-items:center;white-space:nowrap}.online-badge{display:inline-flex;align-items:center;gap:4px;color:#10b981;font-weight:600}.online-text,.meta-separator,.my-monk-name{display:none}.top-controls{gap:5px;flex-shrink:0}.merit-pill{padding:5px 8px;font-size:.76rem;border-radius:16px;gap:4px}.merit-label{display:none}.donate-pill{padding:5px 9px}.donate-pill .donate-text{font-size:.76rem;font-weight:600}.icon-btn{width:33px;height:33px;font-size:.95rem}#virtual-joystick-zone{display:flex}.incense-prompt-wrapper{bottom:98px}.incense-prompt-btn{padding:6px 13px;gap:6px;border-radius:20px}.incense-icon{font-size:1.15rem}.incense-text{font-size:.8rem}.bottom-bar{padding-bottom:env(safe-area-inset-bottom,8px);width:100%;max-width:100%;margin:0 auto;overflow:hidden}.action-buttons-group{padding:4px 6px;gap:5px;border-radius:20px;max-width:calc(100vw - 12px);margin:0 auto}.action-btn{padding:4px 3px 3px;min-width:46px;max-width:52px;border-radius:12px}.action-btn .btn-icon{font-size:1.35rem}.action-btn .btn-text{font-size:.62rem;margin-top:1px;letter-spacing:-.2px}.action-btn .key-badge{display:none}.modal-backdrop{padding:10px}.modal-card{max-height:90vh;overflow-y:auto;padding:16px 14px;border-radius:20px}.donate-card{max-width:96vw}.donate-qr-wrapper{max-width:140px;padding:6px;margin:0 auto}.donate-info-box{padding:10px 12px;font-size:.8rem;gap:6px}.donate-blessing-card{padding:8px 10px}.blessing-body{font-size:.74rem}.donate-confirm-btn{padding:9px;font-size:.82rem}}@media(max-width:400px){#ui-overlay{padding:8px}.top-bar{gap:4px}.top-controls{gap:3px}.temple-info-card{padding:4px 7px;gap:4px}.temple-title,.room-short{font-size:.8rem}.merit-pill{padding:4px 6px;font-size:.72rem}.donate-pill{padding:4px 7px}.donate-pill .donate-text{font-size:.72rem}.icon-btn{width:30px;height:30px;font-size:.88rem}.action-buttons-group{padding:3px 5px;gap:3px}.action-btn{min-width:44px;max-width:48px;padding:3px 2px}.action-btn .btn-icon{font-size:1.25rem}.action-btn .btn-text{font-size:.58rem}}@media(max-width:360px){.top-bar{gap:3px}.temple-title{font-size:.78rem}.donate-pill .donate-text{display:none}.action-buttons-group{gap:2px;padding:3px 4px}.action-btn{min-width:41px;max-width:45px;padding:3px 2px}.action-btn .btn-icon{font-size:1.2rem}.action-btn .btn-text{font-size:.58rem}}.global-wish-banner{position:fixed;top:18px;left:50%;transform:translate(-50%) translateY(0);z-index:10000;max-width:92vw;width:max-content;background:linear-gradient(135deg,#20160ef7,#372616f2);border:1.5px solid rgba(245,183,61,.7);box-shadow:0 10px 32px #0000008c,0 0 24px #f5b73d59;border-radius:40px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s ease;pointer-events:auto}.global-wish-banner.hidden{opacity:0;transform:translate(-50%) translateY(-120%);pointer-events:none}.wish-banner-content{display:flex;align-items:center;gap:12px;padding:8px 18px}.wish-banner-icon{font-size:1.45rem;filter:drop-shadow(0 0 8px rgba(245,183,61,.8));animation:pulse-icon 2s infinite ease-in-out}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.wish-banner-text-box{display:flex;flex-direction:column;line-height:1.35}.wish-banner-author{font-size:.78rem;color:#d4a373}.wish-banner-author span{font-weight:700;color:#f5b73d}.wish-banner-text{font-size:.92rem;color:#fff6e0;font-style:italic;font-weight:500;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wish-rejoice-btn{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:20px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .15s ease,background .2s;box-shadow:0 4px 12px #d3540066}.wish-rejoice-btn:active{transform:scale(.92)}@media(max-width:600px){.global-wish-banner{top:12px;border-radius:24px}.wish-banner-content{padding:6px 12px;gap:8px}.wish-banner-text{max-width:200px;font-size:.82rem}.wish-banner-author{font-size:.7rem}.wish-rejoice-btn{padding:5px 10px;font-size:.75rem}}
