*{box-sizing:border-box}html,body{background:#111;width:100%;height:100%;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}canvas{display:block}#app{z-index:10;pointer-events:none;transition:opacity .45s,visibility .45s;position:fixed;inset:0}#app.hidden{opacity:0;visibility:hidden;pointer-events:none}.code-box{pointer-events:auto;text-align:center;width:min(320px,100vw - 40px);position:absolute;bottom:clamp(16px,8vh,48px);left:50%;transform:translate(-50%)}.code-box input{color:#fff;letter-spacing:.18em;text-align:center;-webkit-backdrop-filter:blur(12px)saturate(120%);background:#ffffff14;border:1px solid #ffffff40;border-radius:14px;outline:none;width:80%;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 20px #00000040,inset 0 1px #fff3}.code-box input::placeholder{color:#ffffffa6}.code-box input:focus-visible{border-color:#ffffff8c;box-shadow:0 0 20px #ffffff24,inset 0 1px #ffffff38}#code-message{color:#ff2b2b;letter-spacing:.22em;height:20px;margin:10px 0 0;font-size:11px}#code-message a{color:#fff;text-shadow:0 0 12px #ffffffa6;text-decoration:none}#code-message a:hover,#code-message a:focus-visible{text-decoration:underline}.code-box.error input{border-color:#ff2b2b;animation:.35s wrong-code;box-shadow:0 0 24px #ff000080,inset 0 1px #ffffff26}.fragment-preview,.private-player{z-index:340;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0c0cb8;border:1px solid #ffffff40;border-radius:14px;padding:18px;position:fixed}.fragment-preview{text-align:center;pointer-events:auto;width:min(340px,100vw - 40px);bottom:118px;left:50%;transform:translate(-50%)}.fragment-preview h2{letter-spacing:.14em;margin:0 0 8px;font-size:16px}.fragment-preview p{opacity:.78;margin:0 0 14px;font-size:12px}.fragment-preview button,.private-player button{color:#fff;cursor:pointer;letter-spacing:.14em;background:#ffffff1f;border:1px solid #ffffff73;border-radius:8px;padding:9px 12px;font-size:10px}.private-player{pointer-events:auto;align-items:center;gap:12px;display:flex;bottom:20px;left:20px}.private-player p{letter-spacing:.12em;margin:0;font-size:11px}.private-player time{opacity:.7;font-size:11px}.fragment-preview.hidden,.private-player.hidden{display:none}@keyframes wrong-code{0%{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-7px)}80%{transform:translate(7px)}to{transform:translate(0)}}.loading-screen{z-index:500;pointer-events:none;color:#fff;background:radial-gradient(circle,#ffffff14,#0000 35%),#050505;justify-content:center;align-items:center;transition:opacity .45s,visibility .45s;display:flex;position:fixed;inset:0}.loading-screen.hidden{opacity:0;visibility:hidden}.loading-content{text-align:center;width:min(360px,100vw - 48px)}.loading-text{letter-spacing:.28em;opacity:.8;margin-bottom:18px;font-size:12px}.loading-bar{-webkit-backdrop-filter:blur(10px);background:#ffffff29;border-radius:999px;width:100%;height:6px;overflow:hidden}.loading-progress{background:#fff;border-radius:999px;width:0;height:100%;transition:width .18s;box-shadow:0 0 18px #ffffffbf}.loading-percent{letter-spacing:.22em;opacity:.7;margin-top:14px;font-size:11px}.radio-controls{z-index:300;align-items:center;gap:10px;display:flex;position:fixed;top:20px;left:20px}.navigation-controls{z-index:300;align-items:center;gap:10px;display:flex;position:fixed;top:20px;right:20px}.music-toggle,.next-song,.nav-control{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(120%);background:#ffffff14;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:24px;line-height:1;transition:opacity .2s,visibility .2s,transform .2s,border-color .2s,box-shadow .2s;display:grid;position:relative;overflow:visible;box-shadow:0 4px 20px #00000040,inset 0 1px #fff3}.music-toggle:hover,.next-song:hover,.nav-control:hover{transform:scale(1.08)}.music-toggle:focus-visible,.next-song:focus-visible,.nav-control:focus-visible{outline-offset:4px;outline:1px solid #fffc}.music-toggle.playing{box-shadow:0 0 20px #ffffff8c,inset 0 1px #ffffff40}.nav-control.authenticated{border-color:#ffffffb8;box-shadow:0 0 18px #ffffff47,inset 0 1px #ffffff4d}.next-song.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.88)}.next-song svg,.nav-control svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.music-title{z-index:300;color:#fff;letter-spacing:.18em;white-space:nowrap;text-align:left;opacity:0;pointer-events:none;font-size:10px;transition:opacity .25s,transform .25s,visibility .25s;position:fixed;top:36px;left:128px;transform:translate(-8px)}.music-title.visible{opacity:.85;transform:translate(0)}.nav-control:after{content:attr(data-label);z-index:400;color:#ffffffeb;letter-spacing:.18em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(14px)saturate(125%);background:#ffffff17;border:1px solid #ffffff3d;border-radius:9px;padding:7px 10px;font-size:9px;line-height:1;transition:opacity .18s,visibility .18s,transform .18s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px);box-shadow:0 4px 18px #0000001f,inset 0 1px #ffffff2e}.nav-control:hover:after,.nav-control:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)}.music-toggle.hidden,.music-title.hidden,.navigation-controls.hidden,.account-panel.hidden,.account-auth.hidden,.vault-shell.hidden{opacity:0;visibility:hidden;pointer-events:none}.account-auth.hidden,.vault-shell.hidden{display:none}.account-panel{z-index:350;color:#fff;pointer-events:auto;-webkit-backdrop-filter:blur(18px)saturate(120%);background:#0c0c0cb8;border:1px solid #ffffff40;border-radius:18px;width:min(360px,100vw - 40px);padding:30px;position:fixed;top:84px;right:20px;box-shadow:0 14px 42px #00000059,inset 0 1px #ffffff29}.account-panel h1,.account-panel p{margin-top:0}.account-kicker{letter-spacing:.28em;opacity:.7;font-size:10px}.account-panel h1{letter-spacing:.2em;margin-bottom:10px;font-size:22px;font-weight:400}.account-intro,.vault-email{opacity:.78;font-size:13px;line-height:1.5}.account-close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:10px;right:12px}.account-form{gap:14px;margin-top:22px;display:grid}.account-form label{letter-spacing:.16em;gap:7px;font-size:10px;display:grid}.account-form input{color:#fff;background:#ffffff17;border:1px solid #ffffff45;border-radius:9px;outline:none;width:100%;padding:10px 12px}.account-form button,.account-switch,.account-signout{color:#fff;cursor:pointer;letter-spacing:.16em;background:#ffffff21;border:1px solid #ffffff6b;border-radius:9px;padding:11px;font-size:10px}.account-switch{opacity:.8;background:0 0;border-color:#0000;width:100%;margin-top:12px}.account-message{color:#ff7a7a;letter-spacing:.08em;min-height:15px;margin-bottom:0;font-size:10px}.vault-empty{letter-spacing:.12em;opacity:.72;border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b;margin:26px 0;padding:22px 0;font-size:11px;line-height:1.7}.vault-status{letter-spacing:.12em;opacity:.75;min-height:18px;font-size:11px}.vault-item{border-top:1px solid #ffffff26;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:12px 0;display:grid}.vault-item p,.vault-item small{margin:0;font-size:11px}.vault-item small{opacity:.65;grid-column:1}.vault-item button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:6px;padding:7px;font-size:8px}@media (width<=430px){.radio-controls{gap:8px;top:16px;left:16px}.navigation-controls{gap:8px;top:16px;right:16px}.music-toggle,.next-song,.nav-control{width:40px;height:40px}.music-title{top:68px;left:16px;transform:translateY(-6px)}.music-title.visible{transform:translateY(0)}.nav-control:after{top:calc(100% + 8px)}}@media (width<=350px){.radio-controls{gap:6px;left:10px}.navigation-controls{gap:6px;right:10px}.music-toggle,.next-song,.nav-control{width:36px;height:36px}.next-song svg,.nav-control svg{width:18px;height:18px}}.garden{z-index:1000;color:#f1d9cf;background:#241b35;font-family:Georgia,Times New Roman,Times,serif;animation:1.25s cubic-bezier(.2,.7,.2,1) both garden-arrive;position:fixed;inset:0;overflow:hidden}.garden:after{content:"";z-index:1;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(at 48% 38%,#0000 35%,#140a2361 110%),linear-gradient(#7044780f,#38142a2e);position:absolute;inset:0}.garden canvas{cursor:grab;touch-action:none;width:100%;height:100%}.garden-active .radio-controls,.garden-active .music-title{z-index:1100}.garden-return{z-index:3;background:#ffffff17;border-color:#ffffff52;position:fixed;top:22px;right:24px;box-shadow:0 4px 20px #5c414a1a,inset 0 1px #ffffff5c}.garden-return .garden-return-icon{opacity:.72;fill:none;stroke:#ffffffeb;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.garden-intro{z-index:3;color:#ffe2d4e6;letter-spacing:.23em;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(18px)saturate(110%);background:linear-gradient(135deg,#311d3ea8,#7e435c4d);border:1px solid #f5c6b833;border-radius:26px 8px 28px 10px;justify-items:center;gap:10px;width:min(520px,100vw - 40px);padding:20px 25px 17px;font:10px Arial,Helvetica,sans-serif;transition:opacity 1.2s,visibility 1.2s,transform 1.2s cubic-bezier(.2,.7,.2,1);animation:1.4s cubic-bezier(.2,.7,.2,1) .25s backwards garden-intro-arrive;display:grid;position:fixed;top:clamp(92px,17vh,170px);left:50%;transform:translate(-50%);box-shadow:0 20px 60px #14082333,inset 0 1px #ffe1d233}.garden-intro.leaving{opacity:0;visibility:hidden;transform:translate(-50%,-8px)}.garden-intro span{font-size:11px}.garden-intro small{letter-spacing:.15em;font-size:8px;font-weight:400;line-height:1.55}.garden-movement{grid-template-rows:repeat(2,22px);grid-template-columns:repeat(3,22px) auto;align-items:center;gap:3px;display:grid}.garden-key{letter-spacing:0;background:#ffcdbf14;border:1px solid #ffdccd42;border-radius:5px;place-items:center;width:22px;height:22px;display:grid;box-shadow:inset 0 1px #ffeade2e;font-size:7px!important}.garden-key-w{grid-column:2}.garden-movement .garden-key:nth-of-type(2){grid-area:2/1}.garden-movement .garden-key:nth-of-type(3){grid-area:2/2}.garden-movement .garden-key:nth-of-type(4){grid-area:2/3}.garden-movement small{text-align:left;grid-area:1/4/span 2;margin-left:8px}.garden-invitation{color:#ffdacdb8}.garden-jump{color:#f7bec4c7}.garden-status{opacity:.52;border-top:1px solid #ffdccd24;width:100%;margin-top:2px;padding-top:9px}.fragment-close,.dj-dialog-close,.dj-dialog-choices button,.dj-chat-form button,.garden-touch button{pointer-events:auto;color:inherit;font:inherit;letter-spacing:.15em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #53464b4d;padding:7px 0;transition:color .25s,border-color .25s,background .25s}.fragment-panel{z-index:3;color:#f6dfd4;-webkit-backdrop-filter:blur(22px)saturate(115%);opacity:0;pointer-events:none;background:linear-gradient(135deg,#2a1835db,#673550ad);border:1px solid #f8cdbb38;border-left-color:#efa09d94;border-radius:32px 10px 34px 12px;width:min(356px,100vw - 36px);padding:29px 31px 28px;transition:opacity .5s,transform .65s cubic-bezier(.2,.7,.2,1);position:fixed;bottom:clamp(20px,7vh,66px);left:clamp(18px,5vw,68px);transform:translateY(16px);box-shadow:0 22px 70px #1608254d,inset 0 1px #ffe0d22e}.dj-dialog{z-index:4;color:#ffe5f4;-webkit-backdrop-filter:blur(24px)saturate(125%);opacity:0;pointer-events:none;background:linear-gradient(145deg,#140d1ff0,#5b1846db);border:1px solid #ff4bb957;border-radius:10px 34px 12px;width:min(520px,100vw - 36px);padding:31px;transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);position:fixed;bottom:clamp(24px,7vh,72px);left:50%;transform:translate(-50%,18px);box-shadow:0 26px 90px #0d04188f,inset 0 1px #ffd2ee21}.dj-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.dj-dialog h2{letter-spacing:.08em;margin:8px 0 15px;font-size:27px;font-weight:400}.dj-dialog-type{color:#ffa9dca8;letter-spacing:.22em;text-transform:uppercase;margin:0;font:8px Arial,sans-serif}.dj-dialog-answer{color:#ffe6f4d1;min-height:46px;margin:0 0 21px;font-size:14px;line-height:1.6}.dj-dialog-gift{color:#ff9bd5b8;letter-spacing:.18em;text-transform:uppercase;min-height:13px;margin:-10px 0 18px;font:8px Arial,sans-serif}.dj-dialog-close{position:absolute;top:12px;right:16px;border:0!important;padding:3px 7px!important;font:19px Arial,sans-serif!important}.dj-dialog-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dj-dialog-choices button{color:#ffe3f3e0;text-align:left;background:#ff59b812;border:1px solid #ff9bd538;border-radius:8px;padding:11px 13px;font:9px Arial,sans-serif}.dj-dialog-choices button:hover,.dj-dialog-choices button:focus-visible{background:#ff59b82e;border-color:#ff92d3ad;outline:none}.dj-dialog-choices button.asked{color:#ffcdea8a}.dj-chat-form{grid-template-columns:1fr auto;gap:8px;display:grid}.dj-chat-form[hidden]{display:none}.dj-chat-form input{color:#ffedf7eb;background:#0c07136b;border:1px solid #ff9bd538;border-radius:8px;outline:none;min-width:0;padding:11px 13px;font:12px Arial,sans-serif}.dj-chat-form input:focus{border-color:#ff92d3ad}.dj-chat-form button{color:#ffe3f3e0;background:#ff59b81f;border:1px solid #ff9bd54d;border-radius:8px;padding:11px 15px;font:9px Arial,sans-serif}.dj-chat-form :disabled{cursor:wait;opacity:.55}.fragment-panel.open{opacity:1;pointer-events:auto;transform:none}.fragment-panel.first-discovery{animation:1.2s ease-out fragment-discovery}.fragment-panel h2{letter-spacing:.01em;margin:10px 0 13px;font-size:24px;font-weight:400;line-height:1.05}.fragment-panel p{color:#f6dbd1b8;margin:0;font-size:14px;line-height:1.62}.fragment-type{letter-spacing:.2em;text-transform:uppercase;font:8px Arial,Helvetica,sans-serif!important}.fragment-close{position:absolute;top:12px;right:16px;border:0!important;padding:3px 7px!important;font:19px Arial,sans-serif!important}.garden-touch{z-index:3;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(4,42px);gap:4px;display:none;position:fixed;bottom:18px;right:18px}.garden-touch *,.garden-touch :before,.garden-touch :after{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.garden-touch svg{pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.garden-touch button{color:#ffded2d9;-webkit-backdrop-filter:blur(12px);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#311c3e80;border:1px solid #ffd7c93d;border-radius:50%;padding:11px 0;font:16px Arial,sans-serif;box-shadow:inset 0 1px #ffe5d72e}.garden-touch button:active{background:#844260bd}.garden-touch button:first-child{grid-column:2}.garden-touch button:nth-child(2){grid-area:2/1}.garden-touch button:nth-child(3){grid-area:2/2}.garden-touch button:nth-child(4){grid-area:2/3}.garden-touch button:nth-child(5){letter-spacing:.08em;grid-area:2/4;font-size:7px}@keyframes garden-arrive{0%{opacity:0;filter:blur(4px)saturate(.8)}to{opacity:1;filter:blur()saturate()}}@keyframes garden-intro-arrive{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes fragment-discovery{0%{box-shadow:0 18px 55px #64494a1f,inset 0 1px #ffffff8c}38%{box-shadow:0 18px 70px #b784a742,inset 0 1px #ffffffb8}to{box-shadow:0 18px 55px #64494a1f,inset 0 1px #ffffff8c}}@media (pointer:coarse),(width<=720px){.garden-touch{display:grid}.garden-return{top:14px;right:14px}.fragment-panel{bottom:112px}.code-box input,.account-form input{font-size:16px}}@media (width<=620px){.garden-intro{width:min(420px,100vw - 28px);padding-inline:18px;top:82px}.fragment-panel{width:min(356px,100vw - 28px);padding:25px 24px 23px;left:14px}.dj-dialog{width:calc(100vw - 28px);padding:26px 22px 22px}.dj-dialog-choices{grid-template-columns:1fr}}@media (height<=700px){.code-box{bottom:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
