/* Mobile refresh, based on design-review/sample-html/voyceup-sample.html. */
.upload-progress{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.upload-progress progress{display:block;width:100%;height:16px;overflow:hidden;border:0;border-radius:999px;background:var(--panel2);accent-color:var(--orange)}
.upload-progress progress::-webkit-progress-bar{background:var(--panel2);border-radius:999px}
.upload-progress progress::-webkit-progress-value{background:var(--orange);border-radius:999px;transition:width .15s linear}
.upload-progress progress::-moz-progress-bar{background:var(--orange);border-radius:999px}
.upload-progress span{display:block;margin-top:9px;overflow-wrap:anywhere;font-size:13px;line-height:1.5}
.upload-progress[data-state=processing] progress{animation:upload-processing 1.4s ease-in-out infinite}
.upload-progress[data-state=error]{border-color:var(--danger)}
.upload-progress[data-state=error] span{color:var(--danger)}
.upload-progress[data-state=complete] span{color:var(--success)}
.upload-progress .upload-cancel{display:inline-block;min-height:44px;margin-top:10px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font-size:13px;font-weight:700}
.upload-progress .upload-cancel[hidden]{display:none}
.profile-cover{position:relative}
.cover-edit{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff66;border-radius:50%;color:#fff;background:#060e12cc;box-shadow:0 3px 12px #0004;backdrop-filter:blur(8px)}
.profile-photo-edit{padding:0;overflow:visible;background:var(--panel)}
.profile-photo-edit>img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.photo-edit-icon{position:absolute;right:-6px;bottom:-6px;display:grid;place-items:center;width:36px;height:36px;border:3px solid var(--bg);border-radius:50%;color:var(--bg);background:var(--text)}
.photo-edit-icon .nav-icon{width:19px;height:19px}
.profile-photo-edit:hover .photo-edit-icon,.cover-edit:hover{color:var(--bg);background:var(--orange)}
.image-edit-preview{overflow:hidden;margin:0 auto 20px;background:var(--panel2)}
.image-edit-preview img{display:block;width:100%;height:100%;object-fit:cover}
.image-edit-preview img[hidden]{display:none}
.image-edit-preview.avatar{width:150px;height:150px;border-radius:50%;border:3px solid var(--line)}
.image-edit-preview.banner{width:100%;aspect-ratio:3.2;border-radius:14px}
.arena-navigation{display:flex;flex-wrap:wrap;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.arena-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border-radius:999px;background:var(--panel);color:var(--text);font-size:13px;font-weight:700}
.past-challenges{margin:36px 20px 0;scroll-margin-top:90px}.past-challenges h2{font:700 26px var(--display)}.past-challenges>p{color:var(--muted);font-size:14px}
.past-challenge{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.past-challenge>span:first-child{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.past-challenge small,.voting-closed{color:var(--muted);font-size:12px}.past-challenge:hover{border-color:var(--blue)}
.presentation-panel{margin-top:24px}.presentation-panel>p{color:var(--muted)}.presentation-panel>p strong{color:var(--text)}
.presentation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.presentation-actions form{margin:0}.presentation-actions button,.presentation-actions>a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);font-weight:700}
.presentation-actions form button{background:var(--orange);color:var(--bg)}.presentation-note{font-size:12px}.demo-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:20px}.demo-confirm input{flex:0 0 18px;width:18px;height:18px;accent-color:var(--orange)}
@keyframes upload-processing{50%{opacity:.45}}
:root{color-scheme:dark;--bg:#060e12;--panel:#0d1d24;--panel2:#12272f;--line:#1f3742;--text:#f1f7f8;--muted:#9bb2ba;--blue:#45c8f5;--blue2:#225a70;--orange:#ffa24a;--red:#ff5a3c;--success:#4fd6a0;--voyce:linear-gradient(120deg,#ff5a3c,#ffa24a 45%,#45c8f5);--display:'Bricolage Grotesque',system-ui,sans-serif;--body:'Onest',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
body{font-family:var(--body);-webkit-font-smoothing:antialiased}
.main-content,.sidebar{background:var(--bg)}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{cursor:default}
.brand.wordmark,.auth-card .wordmark{display:inline-flex;gap:0;color:var(--text);font:800 36px/1 var(--display);letter-spacing:-1.5px}
.wordmark b{color:var(--red)}
.sidebar>.brand{padding:16px 12px}.auth-card .wordmark{margin-bottom:22px;font-size:42px}
.feed-heading h1,.broadcast h2,.voice-card h2,.competition-hero h1,.page-heading h1,.page-heading h2,.profile-details h1,.panel h2,dialog h2,.right-rail h3,.entry-copy h3,.discovery-page>h2,.profile-voyce h2,.message-inbox h2,.message-thread h2,.empty-state h2{font-family:var(--display);font-weight:700;letter-spacing:-.025em;text-wrap:balance}
.feed-heading{gap:18px;align-items:flex-start}.feed-heading h1{font-size:clamp(28px,3vw,38px);line-height:1.08}.feed-heading>a{flex-shrink:0;white-space:nowrap;min-height:44px;color:var(--bg)}
.feed-heading small,.section-label>span,.page-heading small,.competition-hero>small{font-family:var(--mono);font-size:11px;letter-spacing:.09em}
.story-ring{background:var(--voyce)}.post-card,.panel,.auth-card,.entry-card{border-radius:22px}.post-card{box-shadow:none}
.sidebar nav a.active{color:var(--text);background:var(--panel2)}.sidebar nav a.active:before{background:var(--orange)}
.nav-icon{width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mobile-header-actions{display:flex;gap:8px;align-items:center}.mobile-header-actions a{position:relative;display:grid;place-items:center;min-width:44px;min-height:44px}.notification-dot{position:absolute;right:7px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--red)}
.post-actions .amp-button{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border-radius:12px;font-size:14px;font-weight:700}.amp-button[aria-pressed=true]{color:var(--orange);background:#ffa24a18}.amp-button[aria-pressed=true] svg{filter:drop-shadow(0 0 5px #ffa24a55)}
.category-tabs{scrollbar-width:none;padding:4px 2px 10px;mask-image:linear-gradient(90deg,#000 94%,transparent)}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{min-height:44px}.category-tabs button.active{background:var(--text);border-color:var(--text);color:var(--bg)}
.competition-hero{background:radial-gradient(ellipse at 100% 0,#ff5a3c36,transparent 60%),linear-gradient(150deg,#123440,var(--bg));padding-bottom:28px}.competition-hero h1{font-size:clamp(32px,4vw,46px);line-height:1.02}.competition-hero .arena-stats{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 24px;border:0;padding:0}.arena-stats span{font-size:12px}.arena-stats strong{display:block;color:var(--text);font:700 23px var(--mono)}
.competition-hero .arena-countdown{border:0;padding:14px 16px;border-radius:16px;background:#ffffff08;gap:5px}.arena-countdown time{color:var(--orange);font:700 24px var(--mono)}.arena-countdown small{color:var(--muted)}
.arena-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 35px 0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.arena-cta span{font-size:13px;color:var(--muted)}.arena-cta button,.arena-cta a{border:0;border-radius:12px;padding:12px 16px;color:var(--bg);background:var(--red);font-weight:800;white-space:nowrap}.page-heading>button,.auth-card form>button,.panel>button,dialog form>button{color:var(--bg)}
.profile-voice-recorder{scroll-margin-top:90px;min-height:200px;background:radial-gradient(ellipse at 90% 0,#ff5a3c44,transparent 60%),var(--panel2)}.profile-voice-recorder>div:first-child{max-width:calc(100% - 74px)}.profile-voice-recorder .wave{position:static;margin-top:16px;height:32px;opacity:.5}.profile-voice-recorder .wave i{max-height:32px}.profile-voice-recorder>button{background:var(--voyce);color:var(--bg)}
.empty-state{color:var(--muted);background:var(--panel);border:1px solid var(--line)}.empty-state h2{color:var(--text)}.empty-state a{display:inline-block;padding:12px;color:var(--orange);font-weight:700}.entry-copy{min-width:0;overflow-wrap:anywhere}.entry-copy>p{min-height:0}.create-row{flex-wrap:wrap}.section-label{gap:12px}
@media(max-width:1100px){.app-shell{grid-template-columns:210px minmax(0,690px)}}
@media(max-width:760px){
 body{background:var(--bg)}.main-content{padding-top:calc(68px + env(safe-area-inset-top));padding-bottom:calc(94px + env(safe-area-inset-bottom))}
 .mobile-header{height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;background:#060e12ed}.mobile-header .wordmark{font-size:28px}
 .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(76px + env(safe-area-inset-bottom));padding:5px 8px calc(5px + env(safe-area-inset-bottom));gap:0;overflow:visible;background:#060e12ed}
 .mobile-nav a{display:flex;flex-direction:column;justify-content:center;gap:4px;width:auto;height:60px;min-width:0;min-height:44px;font-size:10px;font-weight:700;border-radius:12px;color:var(--muted)}
 .mobile-nav a.active{color:var(--text);background:var(--panel)}.mobile-nav a:nth-child(3){color:var(--text)}.mobile-nav .record-nav .record-disc{display:grid;place-items:center;width:54px;height:54px;min-height:54px;margin-top:-23px;border-radius:50%;color:var(--bg);background:var(--voyce);box-shadow:0 0 0 5px var(--bg),0 8px 25px #ff5a3c35}.record-nav .nav-icon{width:26px;height:26px}
 .home-page{padding:24px 16px 20px}.feed-heading{flex-wrap:wrap;gap:14px}.feed-heading h1{max-width:18ch}.feed-heading>a{padding:11px 18px}.stories{margin:24px 0;gap:13px}
 .section-label>span,.section-label a{font-size:11px}.section-label a{text-align:right}.entry-card{grid-template-columns:minmax(0,1fr)}.entry-media{height:230px;min-height:0}.entry-copy{padding:18px}.entry-copy h3{margin-top:12px}.entry-person span{min-width:0}.entry-copy form button{width:100%;min-height:44px}
 .arena-cta{position:sticky;z-index:10;bottom:calc(94px + env(safe-area-inset-bottom));margin:24px 16px 0;background:#12272ff2;backdrop-filter:blur(14px)}.arena-cta span{max-width:15ch}.competition-page{padding-bottom:24px}
 .competition-hero{padding:28px 20px}.competition-hero .arena-stats{gap:12px 22px}.category-tabs{margin-inline:18px}.entry-list{padding-inline:16px}.empty-state{margin:20px 16px;padding:24px 18px}
 .auth-page{min-height:calc(100dvh - 170px);padding:24px 16px}.auth-card{padding:26px 22px}.profile-voice-recorder{margin-inline:16px}.profile-voice-recorder h2{font-size:23px}
 dialog{max-height:calc(100dvh - 30px);overflow:auto}.story-stage,.story-stage>#story-content{height:calc(100dvh - 32px)}.post-card{scroll-margin-top:88px}
}

/* Site information stays readable above the mobile navigation. */
.site-footer{margin-top:36px;padding:24px 16px;text-align:center;border-top:1px solid #253e48;color:#a9bec7;font-size:12px}
.site-footer nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 9px;color:#b6cbd4;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{color:#fff;text-decoration:underline}
.information-page{padding:30px clamp(18px,4vw,40px);line-height:1.75;overflow-wrap:anywhere}
.information-page>small{color:#72dcf6;font-weight:700;letter-spacing:.12em}
.information-page h1{font-size:clamp(28px,5vw,42px);line-height:1.15;margin:12px 0 24px}
.information-page h2{font-size:21px;line-height:1.3;margin-top:30px}
.information-page p{color:#c5d6dd}.information-page a{color:#72dcf6}
.information-intro{font-size:22px}.information-page .policy-draft{padding:14px;border:1px solid #705c37;border-radius:12px;background:#28251d;color:#f5d79e;font-size:14px}
.broadcast>.official-badge{background:transparent;border:0;border-radius:0;flex-shrink:0}.official-badge img{width:100%;height:100%}
[data-banner-frame]{touch-action:none;cursor:grab}[data-banner-frame].dragging{cursor:grabbing}[data-banner-frame] img{pointer-events:none;user-select:none}
.banner-position-controls{display:grid;gap:10px}.banner-position-controls input[type=range]{padding:0;width:100%;accent-color:#ff583a}.banner-position-controls button{background:#213b45;color:#fff;padding:10px}
@media(max-width:760px){.site-footer{padding-bottom:90px}}

/* Keep Story details in their own row, clear of media and navigation. */
#story-viewer{padding:0;overflow:hidden;max-height:calc(100dvh - 24px)}
#story-viewer .story-stage{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:min(820px,calc(100dvh - 26px));min-height:0;border-radius:20px;overflow:hidden;background:#071217}
#story-viewer #story-content{height:100%;min-height:0;overflow:hidden;grid-row:1}
#story-viewer #story-content>img,#story-viewer #story-content>video{display:block;width:100%;height:100%;object-fit:contain}
#story-viewer .story-overlay{position:static;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-height:35dvh;overflow:auto;padding:16px 20px calc(16px + env(safe-area-inset-bottom));text-shadow:none;background:#091c23}
#story-viewer .story-overlay h2{position:static;margin:0;font:700 20px/1.3 var(--display, sans-serif);overflow-wrap:anywhere}
#story-viewer .story-overlay p{max-width:100%;margin:0;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
#story-viewer .story-overlay p:empty{display:none}
#story-viewer #story-viewers-button{margin:0;min-height:44px;padding:8px 12px;border:1px solid #52717d;border-radius:10px;background:#183540;color:#fff}
#story-viewer #story-viewers-button[hidden]{display:none}
#story-viewer .story-step{position:absolute;grid-row:1;align-self:center;top:auto;bottom:auto;z-index:7;width:44px;height:48px;border:1px solid #ffffff55;border-radius:12px;background:#071217c9;color:#fff;font-size:30px;line-height:1}
#story-viewer .story-step.prev{left:8px}#story-viewer .story-step.next{right:8px}
#story-viewer .story-stage>.dialog-close{z-index:10;top:20px;right:10px;width:44px;height:44px;border-radius:50%;background:#071217bb}
#story-viewer .story-progress{position:absolute;z-index:8;top:8px;left:10px;right:10px;display:flex;gap:4px;height:4px}
#story-viewer .story-progress span{flex:1;overflow:hidden;border-radius:4px;background:#ffffff66}
#story-viewer .story-progress i{display:block;width:0;height:100%;background:#fff}
#story-viewer .story-viewers-panel{position:absolute;z-index:11;inset:auto 0 0;max-height:70%;overflow:auto;padding:20px;background:#102831;border-radius:18px 18px 0 0}
#story-viewer .story-viewers-panel[hidden]{display:none}
