*{box-sizing:border-box}body{margin:0;background:#0b0b0b;color:#f7f7f8;font:14px Arial,Helvetica,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none}button:focus-visible,a:focus-visible{outline:2px solid #25f4ee;outline-offset:4px}button:hover{filter:brightness(1.2)}button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;padding:30px 20px;border-right:1px solid #262626;display:flex;flex-direction:column;background:#111}.brand{display:flex;gap:10px;align-items:center;font-size:28px;font-weight:850;letter-spacing:-1px}.music{font-size:48px;color:white;text-shadow:-3px -2px #25f4ee,3px 2px #fe2c55}.brand div span{display:block;font-size:10px;letter-spacing:4px;margin-top:2px;color:#9b9b9b}.local-tag{font-size:9px;letter-spacing:1.7px;color:#757575;margin:25px 0 28px}.nav{display:flex;align-items:center;gap:14px;text-align:left;font-size:25px;width:100%;padding:13px 8px;border-radius:7px}.nav span{font-size:16px;font-weight:600}.nav.selected{color:#fe2c55;background:#fe2c550b}.nav b{margin-left:auto;font-size:11px;color:#999}.side-line{border-top:1px solid #292929;margin:21px 0}.upload{border:1px solid #fe2c55;color:#fe2c55;padding:13px 8px;font-weight:700;border-radius:4px}.nav.minor{font-size:12px;color:#9d9d9d;padding:15px 4px}.side-note{font-size:11px;line-height:1.8;color:#696969}.side-bottom{margin-top:auto;padding-top:20px}.side-bottom b{font-size:14px}.side-bottom p{line-height:1.6;color:#8d8d8d}.side-bottom small{font-size:10px;line-height:1.6;color:#515151}main{margin-left:225px;height:100dvh;position:relative}.topline{height:54px;padding:0 30px;display:flex;justify-content:flex-end;align-items:center;gap:14px}.pill{font-size:9px;letter-spacing:2px;color:#26d5cf;border:1px solid #263939;border-radius:20px;padding:6px 10px}.tiny-brand,#mobile-library{display:none}.feed-layout{height:calc(100dvh - 72px);display:flex;align-items:center;justify-content:center;gap:24px;padding:0 22px}.feed-wrap{height:100%;display:flex;flex-direction:column;align-items:center;min-width:0}.phone{position:relative;height:calc(100% - 34px);aspect-ratio:9/16;max-width:100%;border-radius:10px;overflow:hidden;background:#080808;box-shadow:0 12px 70px #0008;isolation:isolate}.phone canvas{width:100%;height:100%;display:block;touch-action:none;outline:0}.phone-top{position:absolute;left:0;right:0;top:0;padding:22px 15px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#0008,transparent);pointer-events:none}.phone-top button{pointer-events:auto}.tabs{display:flex;gap:24px;font-size:16px;font-weight:700;text-shadow:0 1px 4px #000}.tabs button{color:#fff9;padding:0 0 10px}.tabs .active{color:#fff;position:relative}.tabs .active:after{content:'';position:absolute;width:25px;height:2px;bottom:0;left:calc(50% - 12px);background:white}.glass{position:absolute;right:13px;top:20px;border-radius:50%;width:31px;height:31px;background:#0004;font-size:17px}.action-rail{position:absolute;right:10px;bottom:108px;display:flex;align-items:center;flex-direction:column;gap:17px;text-shadow:0 1px 4px #000}.action-rail button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;min-width:43px}.action-rail button span{font-size:33px;line-height:1}.action-rail small{font-size:10px;font-weight:700}.action-rail button[aria-pressed=true]{color:#fe2c55}.avatar{width:40px;height:40px;border-radius:50%;border:2px solid white;background:linear-gradient(120deg,#20d3d5,#ff335a);position:relative;display:grid;place-items:center;font-weight:800}.avatar span{position:absolute;bottom:-10px;border-radius:50%;background:#fe2c55;font-size:17px;width:19px;height:19px;line-height:19px;text-align:center}.record{margin-top:5px;width:39px;height:39px;background:repeating-radial-gradient(#252525 0 3px,#101010 4px 7px);border-radius:50%;display:grid;place-items:center;font-size:19px;animation:record 7s linear infinite}@keyframes record{to{transform:rotate(360deg)}}.caption{position:absolute;bottom:54px;left:15px;right:63px;pointer-events:none;text-shadow:0 1px 5px #000,0 1px 12px #000}.caption b{font-size:15px}.caption p{font-size:12px;line-height:1.5;margin:9px 0;overflow-wrap:anywhere;max-height:36px;overflow:hidden}.local-badge{font-size:8px;letter-spacing:1px;padding:3px;background:#ffffff23;margin-left:5px;border-radius:3px}.song{font-size:11px}.video-timeline{position:absolute;left:9px;right:9px;bottom:6px}.video-timeline input{width:100%;height:3px;accent-color:white;cursor:pointer}.browse-hint{position:absolute;bottom:29px;left:0;right:0;text-align:center;color:#fff9;font-size:9px;pointer-events:none;text-shadow:0 1px 4px #000}.feed-bottom{height:34px;display:flex;align-items:center;gap:20px;width:100%;font-size:11px;color:#818181}.feed-bottom #time{margin-left:auto}.feed-bottom button{font-size:19px}.next-controls{display:flex;flex-direction:column;gap:15px}.next-controls button{width:42px;height:42px;border-radius:50%;background:#252525;font-size:30px}.armory{width:232px;flex:none;margin-left:8px}.section-label{font-size:9px;letter-spacing:2px;color:#fe2c55}.armory h1{font-size:28px;line-height:1.16;letter-spacing:-1px;margin:17px 0}.armory>p{font-size:13px;color:#818181;line-height:1.6}.destroy{margin-top:15px;width:100%;background:#fe2c55;font-size:14px;font-weight:700;padding:15px 6px;border-radius:5px}.destroy[aria-pressed=true]{background:#123536;color:#25f4ee;border:1px solid #25f4ee}.mode-label{font-size:9px;color:#707070;letter-spacing:2px;margin:14px 0}.weapons{display:grid;gap:7px}.weapon{display:flex;align-items:center;text-align:left;gap:12px;background:#151515;border:1px solid #252525;padding:10px;border-radius:5px}.weapon kbd{font:11px monospace;border:1px solid #333;border-radius:3px;padding:5px 7px;color:#8d8d8d}.weapon span{font-size:12px;font-weight:600}.weapon small{display:block;font-size:10px;color:#686868;font-weight:400;margin-top:4px}.weapon.active{border-color:#fe2c5577;background:#fe2c550c}.weapon.active kbd{color:#fe2c55}.reset{color:#aaa;font-size:11px;margin:16px 0;width:100%;padding:7px}.controls{font-size:10px;color:#626262;line-height:2.2;border-top:1px solid #232323;padding-top:15px}.controls b{color:#a1a1a1;font-weight:500}.damage{position:absolute;top:65px;left:15px;font:9px monospace;pointer-events:none;color:#25f4ee}.damage>div{margin-top:5px;width:90px;height:2px;background:#fff3}.damage i{display:block;background:#25f4ee;height:100%;width:0}.play-overlay{position:absolute;inset:0;width:100%;height:100%;font-size:55px;color:#fffc;text-shadow:0 2px 15px #000;background:#0002}.video-loading{position:absolute;inset:0;display:grid;place-content:center;background:#111c;font-size:13px;pointer-events:none}.destroying .action-rail,.destroying .caption,.destroying .browse-hint{opacity:.18;pointer-events:none}.destroying .phone-top{opacity:.5}.destroying canvas{cursor:crosshair}.phone.switching canvas{animation:slide .26s ease}@keyframes slide{from{opacity:.25;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}#notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#272727ef;box-shadow:0 3px 25px #0007;padding:12px 18px;border-radius:7px;font-size:12px;z-index:10;max-width:80vw;pointer-events:none}#notice:empty{display:none}.mobile-dock{display:none}dialog{background:#171717;border:1px solid #363636;color:white;border-radius:12px;width:min(500px,90vw);max-height:75vh;padding:20px}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:18px}.dialog-head button{font-size:27px}.video-row{display:flex;gap:13px;align-items:center;text-align:left;width:100%;padding:15px 8px;border-bottom:1px solid #2b2b2b}.video-row span{font-size:12px;overflow-wrap:anywhere}.video-row b{color:#fe2c55;font-size:11px}.video-row.active{background:#fe2c5511}textarea{background:#242424;border:1px solid #414141;color:white;width:100%;min-height:95px;padding:12px;margin:10px 0;font:14px Arial;border-radius:5px}.note-save{background:#fe2c55;padding:10px 15px;border-radius:5px}.empty{color:#888;line-height:1.8;font-size:13px}#stage:fullscreen{height:100dvh;width:auto;margin:auto;border-radius:0;background:black}#stage:fullscreen canvas{object-fit:contain}
@media(max-width:1150px){.sidebar{width:185px;padding:25px 15px}main{margin-left:185px}.armory{width:190px}.armory h1{font-size:24px}.feed-layout{gap:14px;padding:0 12px}.next-controls{gap:10px}.next-controls button{width:33px;height:33px;font-size:24px}}
@media(max-width:860px){.sidebar{display:none}main{margin-left:0}.armory{width:175px}.topline{height:35px;padding:0 15px}.tiny-brand{display:block;margin-right:auto;font-size:12px;letter-spacing:2px;font-weight:700}.feed-layout{height:calc(100dvh - 50px)}}
@media(max-width:600px){.topline,.armory,.next-controls,.feed-bottom{display:none}.feed-layout{padding:0;height:calc(100dvh - 57px);display:block}.feed-wrap{height:100%;width:100%}.phone{border-radius:0;height:100%;width:100%;max-width:none;aspect-ratio:auto}.phone canvas{object-fit:contain}.mobile-dock{position:fixed;bottom:0;left:0;right:0;height:57px;background:#101010;display:flex;align-items:center;justify-content:space-around;border-top:1px solid #222;z-index:4}.mobile-dock button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:23px}.mobile-dock small{font-size:9px}.mobile-dock .add{background:white;border-radius:7px;color:black;line-height:26px;width:42px;box-shadow:-4px 0 #25f4ee,4px 0 #fe2c55}.action-rail{right:14px}.caption{bottom:62px}#notice{bottom:70px}.phone-top{padding-top:24px}}

.audio-settings{width:100%;padding:11px 5px;margin-top:12px;border:1px solid #343434;border-radius:5px;color:#d1d1d1;font-size:11px}.audio-row{padding:16px 0;border-top:1px solid #303030}.audio-heading{display:flex;justify-content:space-between;align-items:center}.audio-heading b{font-size:16px}.audio-mute{border:1px solid #474747;border-radius:5px;padding:7px 13px;font-size:12px}.audio-mute[aria-pressed=true]{border-color:#25f4ee;color:#25f4ee}.audio-row p{color:#8c8c8c;font-size:12px;line-height:1.5}.audio-range{display:flex;align-items:center;gap:15px}.audio-range input{flex:1;width:100%;accent-color:#fe2c55}.audio-range output{font-size:12px;min-width:38px;text-align:right;color:#ccc}.audio-test{margin-top:12px;font-size:11px;color:#25f4ee;padding:6px 0}.armory .reset{margin:8px 0}

.action-rail #dislike span{font-size:31px;filter:drop-shadow(0 2px 4px #0005)}.action-rail #dislike[aria-pressed=true]{color:#cf8bff}.action-rail{gap:14px}

.mobile-link{margin-right:auto;padding:7px 12px;border:1px solid #333;border-radius:6px;font-size:12px}.exit-mobile{position:fixed;top:14px;right:16px;z-index:50;color:#bbb;background:#232323;padding:9px 13px;border-radius:6px;font-size:11px}.touch-controls{display:none;position:absolute;bottom:40px;left:12px;gap:7px;z-index:5}.touch-controls button{width:36px;height:36px;border:1px solid #ffffff55;border-radius:50%;background:#151515bd;color:#fff;font-size:18px;touch-action:none;user-select:none}.touch-controls button:active{background:#fe2c55}.mobile-preview{background:#171717}.mobile-preview body{position:relative;margin:0 auto;width:min(430px,100vw);height:100dvh;max-height:920px;box-shadow:0 0 80px #000b}.mobile-preview .sidebar,.mobile-preview .topline,.mobile-preview .armory,.mobile-preview .next-controls,.mobile-preview .feed-bottom{display:none}.mobile-preview main{margin:0;height:100%}.mobile-preview .feed-layout{padding:0;height:calc(100% - 57px);display:block}.mobile-preview .feed-wrap{height:100%;width:100%}.mobile-preview .phone{border-radius:0;height:100%;width:100%;max-width:none;aspect-ratio:auto}.mobile-preview .phone canvas{object-fit:contain}.mobile-preview .mobile-dock{position:absolute;bottom:0;left:0;right:0;height:57px;background:#101010;display:flex;align-items:center;justify-content:space-around;border-top:1px solid #222;z-index:4}.mobile-preview .mobile-dock button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:23px}.mobile-preview .mobile-dock small{font-size:9px}.mobile-preview .mobile-dock .add{background:white;border-radius:7px;color:black;line-height:26px;width:42px;box-shadow:-4px 0 #25f4ee,4px 0 #fe2c55}.mobile-preview .caption{bottom:62px}.mobile-preview #notice{bottom:70px}.mobile-preview .destroying .touch-controls{display:flex}.mobile-preview .dialog-head h2{font-size:16px}.mobile-preview dialog{max-width:390px}.mobile-preview .phone-top{padding-top:24px}
@media(max-width:600px){.destroying .touch-controls{display:flex}.exit-mobile{top:auto;bottom:60px;right:4px;padding:4px;font-size:9px;opacity:.6}.mobile-link{display:none}}

/* Quiet destruction indicator, outside the video controls. */
.damage{top:7px;left:8px;opacity:.22;color:#a4b7b6;pointer-events:none}
.damage>div{width:42px;height:1px;margin:0;background:#ffffff18}
.damage i{background:#b0c4c2}
.damage #progress{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.ghost-controls{display:flex;gap:5px;margin-top:10px}.ghost-controls button{flex:1;border:1px solid #333;border-radius:5px;padding:9px 4px;font-size:10px;color:#b6b6b6}.ghost-controls button[aria-pressed=true],.touch-controls button[aria-pressed=true]{background:#103646;border-color:#80ddff;color:#80ddff}.armory{max-height:calc(100dvh - 90px);overflow-y:auto;scrollbar-width:thin}.touch-controls{gap:5px}.touch-controls button{width:34px;height:34px;font-size:16px}

.action-rail #like,.action-rail #dislike{gap:4px;min-width:38px}.action-rail #like .reaction-icon,.action-rail #dislike .reaction-icon{display:block;width:23px;height:23px;font-size:23px;filter:drop-shadow(0 1px 2px #0008)}.reaction-icon svg{display:block;width:100%;height:100%}.action-rail #like small,.action-rail #dislike small{font-size:8px;font-weight:500}.action-rail #like[aria-pressed=true] svg{fill:currentColor}.action-rail #dislike[aria-pressed=true]{color:#aabaff}

/* Discreet red invitation to activate destruction. */
.action-rail #dislike{color:#ff5269}
.action-rail #dislike .reaction-icon{filter:drop-shadow(0 0 3px #ff315b88);animation:dislike-glimmer 3s ease-in-out infinite}
.action-rail #dislike svg{fill:#ff315b18}
.action-rail #dislike small{color:#ff8998;text-shadow:0 1px 3px #000b}
.action-rail #dislike:hover .reaction-icon{filter:drop-shadow(0 0 5px #ff315bbb)}
.action-rail #dislike[aria-pressed=true]{color:#ff5269}
@keyframes dislike-glimmer{0%,100%{filter:drop-shadow(0 0 2px #ff315b66)}50%{filter:drop-shadow(0 0 4px #ff315b99)}}
@media(prefers-reduced-motion:reduce){.action-rail #dislike .reaction-icon{animation:none}}

/* Reactions show red only after selection. */
.action-rail #dislike{color:#fff}
.action-rail #dislike .reaction-icon,.action-rail #dislike:hover .reaction-icon{animation:none;filter:drop-shadow(0 1px 2px #0007)}
.action-rail #dislike svg{fill:none}
.action-rail #dislike small{color:inherit;text-shadow:0 1px 3px #000b}
.action-rail #dislike[aria-pressed=true]{color:#ff5269}
.action-rail #dislike[aria-pressed=true] svg{fill:#ff315b20}
.action-rail #dislike[aria-pressed=true] .reaction-icon{filter:drop-shadow(0 0 3px #ff315b66)}
.destroying .action-rail{opacity:1}
.destroying .action-rail>*{opacity:.18}
.destroying .action-rail #dislike{opacity:.85}

/* One action selector; touch movement has no visible directional controls. */
#weapons,.ghost-controls,.armory #destroy,.armory #reset,.armory .controls,.armory #audio-settings,.armory .mode-label{display:none!important}
#dialog-body .weapon{display:flex;width:100%;text-align:left;align-items:center;gap:14px;margin:6px 0;padding:12px;border:1px solid #34343b;border-radius:12px;background:#202025;color:white}#dialog-body .weapon.active{border-color:#fe2c55}#dialog-body .weapon small{display:block;color:#aaa;font-size:11px}#dialog-body kbd{color:#fe2c55}
.victory{position:absolute;z-index:12;top:36%;left:8%;right:8%;padding:20px;text-align:center;border:1px solid #ffe49a;border-radius:18px;background:#18140de8;color:#ffe49a;pointer-events:auto}.victory[hidden]{display:none}.victory b,.victory span{display:block;margin-bottom:8px}.victory button{background:#ffda6a;color:#261b05;border:0;border-radius:8px;padding:10px;margin:4px}.destroying .action-rail #treasure{pointer-events:auto}#game{touch-action:none}

/* Bound every SVG reaction, including the treasure chest. */
.action-rail .reaction-icon{display:block;flex:none;width:23px;height:23px;font-size:23px}
.action-rail #treasure{gap:4px;min-width:38px}
.action-rail #treasure .reaction-icon svg{width:23px;height:23px}
.action-rail #treasure small{font-size:8px;font-weight:500}
.placing-treasure .play-overlay,.placing-treasure .action-rail,.placing-treasure .phone-top,.placing-treasure .video-timeline{visibility:hidden;pointer-events:none}
.placing-treasure canvas{cursor:crosshair}
.loadout-option{display:flex;align-items:center;gap:12px;padding:10px;background:#222228;margin:5px 0;border-radius:8px}.loadout-option input{accent-color:#fe2c55;width:18px;height:18px}.loadout-count{color:#ffda6a}.loot-options{display:grid;gap:12px;margin-top:18px}.loot-options label{display:flex;justify-content:space-between;align-items:center;gap:10px}.loot-options select{max-width:160px;background:#292930;color:white;border:1px solid #555;border-radius:6px;padding:8px}

/* iOS gameplay surfaces are controls, not selectable page content. */
#stage,#stage *,.mobile-dock,.mobile-dock *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
#game{touch-action:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}
#stage button,.mobile-dock button{touch-action:manipulation}
