:root{--primary:#00f2ff;--secondary:#7000ff;--glass:#ffffff1a;--glass-border:#fff3}body{color:#fff;background-color:#050505;width:100vw;height:100vh;margin:0;font-family:Outfit,Noto Sans JP,sans-serif;position:fixed;top:0;left:0;overflow:hidden}@supports (height:100dvh){body{height:100dvh}}.container{width:100vw;height:100vh;position:relative}@supports (height:100dvh){.container{height:100dvh}}.header{z-index:20;box-sizing:border-box;pointer-events:none;background:linear-gradient(#000c,#0000);justify-content:space-between;align-items:center;width:100%;padding:20px;display:flex;position:absolute;top:0;left:0}.logo{letter-spacing:1px;background:linear-gradient(45deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;text-transform:uppercase;white-space:nowrap;pointer-events:auto;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}#scene-container{z-index:1;background-color:#050505;width:100%;height:100%;position:absolute;top:0;left:0}.status-indicator{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);background:#0009;border-radius:12px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:flex;position:absolute;top:85px;right:20px}.status-dot{background:#0f0;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #0f0}.status-indicator.loading .status-dot{background:#fc0;box-shadow:0 0 8px #fc0}#three-canvas{width:100%;height:100%;display:block}.participant-count{pointer-events:auto}.controls-bar{z-index:40;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;background:linear-gradient(#0000,#0009);flex-wrap:wrap;justify-content:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.btn-control{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);color:#fff;cursor:pointer;pointer-events:auto;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:54px;height:54px;font-size:18px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-control:hover{background:#fff3;transform:translateY(-2px)}.btn-control.active{background:var(--primary);color:#000;border-color:var(--primary)}.btn-control.danger{background:#ff323233}.btn-label{margin-top:2px;font-size:9px;font-weight:600}#subtitle-area{text-align:center;text-shadow:0 0 15px #000;z-index:100;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000004d;border-radius:20px;justify-content:center;align-items:center;width:90%;max-width:800px;min-height:50px;padding:20px;font-size:32px;font-weight:800;display:flex;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}@media (width<=768px){.header{flex-direction:column;align-items:flex-end;padding:10px 20px}.logo{align-self:flex-start;font-size:22px}}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.modal-content{border:1px solid var(--glass-border);color:#fff;background:#141414e6;border-radius:24px;width:90%;max-width:450px;padding:30px;animation:.3s cubic-bezier(.34,1.56,.64,1) modalScale;box-shadow:0 10px 40px #00000080}@keyframes modalScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-content h3{text-align:center;background:linear-gradient(45deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:0;font-size:24px}.qr-container{color:#333;background:#fff;border-radius:16px;flex-direction:column;align-items:center;margin:20px 0;padding:20px;display:flex}.qr-image{object-fit:contain;width:200px;height:200px;margin-top:10px}.donation-form{flex-direction:column;gap:15px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:#aaa;font-size:13px;font-weight:600}.input-group input[type=number],.input-group input[type=text]{border:1px solid var(--glass-border);color:#fff;background:#ffffff0d;border-radius:8px;outline:none;padding:12px}.input-group input[type=file]{font-size:12px}.wallet-mini-preview{color:var(--primary);align-items:center;gap:10px;font-size:12px;display:flex}.wallet-mini-preview img{object-fit:cover;border-radius:4px;width:32px;height:32px}.modal-btns{gap:10px;margin-top:20px;display:flex}.btn-action{cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px;font-weight:700;transition:all .2s}.btn-action.kampa{background:var(--primary);color:#000}.btn-action.close{color:#fff;background:#ffffff1a}.btn-action:hover{filter:brightness(1.1);transform:translateY(-2px)}.qr-modal .qr-container{background:#fff;border-radius:16px;padding:24px}.qr-placeholder{color:#999;flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.qr-placeholder p:first-child{margin:0;font-size:48px}.qr-placeholder p:nth-child(2){color:#666;margin:0;font-size:16px;font-weight:600}.qr-hint{color:#aaa;margin:0;font-size:12px}.system-log-panel{z-index:100;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--glass-border);background:#0006;border-radius:16px;flex-direction:column;width:220px;max-height:250px;font-family:"monospace";transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:120px;right:20px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.system-log-panel.closed{cursor:pointer;width:180px;max-height:40px}.system-log-panel.closed:hover{background:#ffffff1a}.log-panel-header{border-bottom:1px solid var(--glass-border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.log-panel-header span{color:var(--primary);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700}.log-close-btn{color:#888;cursor:pointer;background:0 0;border:none;font-size:10px}.log-content{scroll-behavior:smooth;flex-direction:column;flex:1;gap:6px;padding:10px;display:flex;overflow-y:auto}.log-content::-webkit-scrollbar{width:4px}.log-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.log-entry{word-break:break-all;font-size:10px;line-height:1.4;animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.log-time{color:#666;margin-right:8px}.log-msg{color:#ddd}.log-empty{color:#555;text-align:center;margin-top:20px;font-size:10px}.log-promo-area{background:rgba(var(--primary), .05);border-top:1px solid var(--glass-border);color:#888;min-height:20px;padding:8px 12px;font-size:9px}.promo-loading{color:var(--primary);align-items:center;gap:6px;animation:1.5s infinite pulse;display:flex}.promo-text{letter-spacing:.5px;font-weight:700}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;height:100vh;margin:0;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}
