/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
.echoes-page{box-sizing:border-box;width:100vw;height:100vh;padding:0 10px;position:relative;overflow:hidden}.echoes-viewport{will-change:transform;transform-origin:50%;position:absolute;inset:0}.echo-star{cursor:default;z-index:10;pointer-events:none;background:0 0;border:none;width:6px;height:6px;padding:0;transition:left 80ms linear,top 80ms linear;animation:1s forwards echo-star-enter;position:absolute;transform:translate(-50%,-50%)}.echo-star:before{content:"";pointer-events:none;border-radius:50%;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.echo-star.is-ready:before{pointer-events:auto}.echo-star.is-hidden{opacity:0;pointer-events:none;animation:none}.echo-star.is-ready{cursor:pointer;pointer-events:auto}.echo-star.is-exiting{animation:.6s forwards echo-star-exit}@keyframes echo-star-enter{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes echo-star-exit{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(0)}}.echo-star-core{background:#ffffffe6;border-radius:50%;animation:3s ease-in-out infinite echo-pulse;position:absolute;inset:0;box-shadow:0 0 6px #fffc,0 0 20px #fff6,0 0 40px #ffffff26}.echo-star:hover .echo-star-core{background:#fff;box-shadow:0 0 10px #fff,0 0 30px #fff9,0 0 60px #ffffff40}.echo-star.is-centering .echo-star-core{background:#fff;animation:.8s ease-in-out infinite echo-centering-pulse;box-shadow:0 0 14px #fff,0 0 40px #ffffffb3,0 0 80px #ffffff59}.echo-star.is-selected .echo-star-core{background:#fff;box-shadow:0 0 12px #fff,0 0 36px #ffffffa6,0 0 72px #ffffff4d}@keyframes echo-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes echo-centering-pulse{0%,to{opacity:1;transform:scale(1.4)}50%{opacity:.85;transform:scale(1.9)}}.echo-star-label{font-size:10px;font-family:var(--font-mono,monospace);color:#fff6;white-space:nowrap;pointer-events:none;letter-spacing:.05em;transition:color .3s;position:absolute;top:14px;left:50%;transform:translate(-50%)}.echo-star:hover .echo-star-label{color:#ffffffe6}.echo-arrow{-webkit-backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;z-index:30;pointer-events:auto;opacity:0;visibility:hidden;background:#080808bf;border:1px solid #fff3;border-radius:9999px;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:border-color .3s,background .3s,color .3s,transform .3s,opacity .4s,visibility .4s;animation:2.4s ease-in-out infinite echo-arrow-pulse;display:flex;position:fixed;transform:translate(-50%,-50%)}.echo-arrow.is-visible{opacity:1;visibility:visible}.echo-arrow:hover{color:#fff;background:#ffffff1a;border-color:#ffffff80;transform:translate(-50%,-50%)scale(1.12)}.echo-arrow i{font-size:16px;line-height:1}.echo-arrow-label{font-size:9px;font-family:var(--font-mono,monospace);color:#ffffff80;white-space:nowrap;pointer-events:none;letter-spacing:.05em;transition:color .3s;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.echo-arrow:hover .echo-arrow-label{color:#ffffffe6}@keyframes echo-arrow-pulse{0%,to{box-shadow:0 0 #ffffff40}50%{box-shadow:0 0 0 7px #fff0}}.echo-detail{-webkit-backdrop-filter:blur(24px)saturate(1.2);pointer-events:auto;z-index:60;opacity:0;background:#08080aeb;border:1px solid #ffffff1a;border-radius:16px;min-width:240px;max-width:320px;padding:24px 28px;position:fixed;top:0;left:0;transform:scale(.92)}.echo-detail.is-positioned{animation:.5s cubic-bezier(.16,1,.3,1) forwards echo-detail-in}@keyframes echo-detail-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (width<=767px){.echo-detail{min-width:0;max-width:calc(100vw - 32px)}}.echo-lines{pointer-events:none;z-index:58;width:100%;height:100%;animation:.5s forwards echo-lines-in;position:fixed;inset:0}.echo-lines line{stroke:#ffffff59;stroke-width:1px;stroke-linecap:round}@keyframes echo-lines-in{0%{opacity:0}to{opacity:1}}.echo-detail-close{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:9999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:border-color .3s,color .3s;display:flex;position:absolute;top:12px;right:12px}.echo-detail-close:hover{color:#fff;border-color:#fff3}.echo-detail-name{color:#fffffff2;margin-bottom:6px;font-size:1.1rem;font-weight:300;line-height:1.3}.echo-detail-desc{color:#ffffff8c;margin-bottom:12px;font-size:12px;line-height:1.5}.echo-detail-link{font-size:11px;font-family:var(--font-mono,monospace);color:#ffffffb3;border-bottom:1px solid #fff3;align-items:center;gap:4px;padding-bottom:2px;text-decoration:none;transition:color .3s,border-color .3s;display:inline-flex}.echo-detail-link:hover{color:#fff;border-bottom-color:#fff9}.echoes-header{z-index:5;pointer-events:none;padding:8rem 1.5rem 0;position:absolute;top:0;left:0}@media (width>=768px){.echoes-header{padding-left:3rem;padding-right:3rem}}@media (width>=1024px){.echoes-header{padding-left:120px;padding-right:120px}}.echoes-label{text-transform:uppercase;letter-spacing:.2em;color:#ffffff59;margin-bottom:8px;font-size:10px;display:block}.echoes-title{letter-spacing:-.02em;color:#fffffff2;font-size:2rem;font-weight:300}.echoes-subtitle{color:#ffffff59;font-size:12px;font-family:var(--font-mono,monospace);margin-top:8px}.echoes-ping-btn{z-index:50;backdrop-filter:blur(8px);color:#fff9;font-size:11px;font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:#08080899;border:1px solid #ffffff26;border-radius:9999px;align-items:center;gap:6px;padding:10px 20px;transition:all .3s;display:inline-flex;position:fixed;bottom:2rem;right:2rem}.echoes-ping-btn:hover{color:#fff;background:#ffffff0f;border-color:#fff6}.echoes-ping-btn i{font-size:14px}.echoes-backdrop{pointer-events:none;z-index:1;background:#08080800;transition:background .5s;position:absolute;inset:0}.echoes-backdrop.is-active{pointer-events:auto;background:#08080880}.echoes-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(24px)saturate(1.2);background-color:#08080aeb;justify-content:center;align-items:center;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) forwards echoesOverlayIn;display:flex;position:fixed;inset:0}@keyframes echoesOverlayIn{0%{opacity:0}to{opacity:1}}.echoes-modal{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:420px;max-height:90vh;padding:32px;animation:.4s cubic-bezier(.16,1,.3,1) forwards echoesModalIn;position:relative;overflow-y:auto}@keyframes echoesModalIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.echoes-modal::-webkit-scrollbar{width:4px}.echoes-modal::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.echoes-modal-close{color:#ffffff80;cursor:pointer;z-index:1;background:0 0;border:1px solid #ffffff14;border-radius:9999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .3s;display:flex;position:absolute;top:16px;right:16px}.echoes-modal-close:hover{color:#fff;border-color:#fff3}.echoes-modal-header{margin-bottom:28px;padding-right:32px}.echoes-modal-label{text-transform:uppercase;letter-spacing:.2em;color:#ffffff59;margin-bottom:8px;font-size:10px;display:block}.echoes-modal-title{letter-spacing:-.01em;color:#fffffff2;margin-bottom:8px;font-size:1.5rem;font-weight:300}.echoes-modal-desc{color:#fff6;font-size:12px;line-height:1.5}.echoes-form{flex-direction:column;gap:20px;display:flex}.echoes-form-field{flex-direction:column;gap:6px;display:flex}.echoes-form-label-text{color:#ffffffb3;font-size:12px;font-weight:500}.echoes-form-optional{color:#ffffff4d;font-weight:400}.echoes-form-input,.echoes-form-textarea{color:#ffffffeb;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .3s,background .3s}.echoes-form-input:focus,.echoes-form-textarea:focus{background:#ffffff0d;border-color:#ffffff40}.echoes-form-input::placeholder,.echoes-form-textarea::placeholder{color:#ffffff40}.echoes-form-textarea{resize:none;min-height:60px}.echoes-form-submit{color:#fffffff2;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:9999px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px 20px;font-size:13px;font-weight:500;transition:all .3s;display:flex}.echoes-form-submit:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.echoes-form-submit:disabled{opacity:.5;cursor:not-allowed}.echoes-form-message{text-align:center;border-radius:6px;padding:8px;font-size:12px}.echoes-form-message--success{color:#86efac;background:#86efac0d}.echoes-form-message--error{color:#fb7185;background:#fb71850d}.echoes-empty{text-align:center;pointer-events:none;z-index:5;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.echoes-empty-icon{color:#ffffff1a;margin-bottom:16px;font-size:48px}.echoes-empty-text{color:#ffffff4d;margin-bottom:8px;font-size:1.2rem;font-weight:300}.echoes-empty-hint{font-size:11px;font-family:var(--font-mono,monospace);color:#fff3}.echoes-loading{z-index:5;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.echoes-loading-dot{background:#fff6;border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite echo-loading-pulse}@keyframes echo-loading-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.8;transform:scale(1.5)}}@media (width<=640px){.echoes-ping-btn{padding:8px 16px;bottom:1.5rem;right:1.5rem}.echoes-modal{padding:24px}}
