:root{color-scheme:light;--ink:#23382e;--muted:#637168;--paper:#f4f3ec;--line:#dce1d7;--lime:#dbf5aa;--error:#b03827;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}header,footer{max-width:1056px;margin:auto;padding:32px 30px;display:flex;justify-content:space-between;align-items:center}header{border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:800;letter-spacing:2px;font-size:16px;line-height:1.15;color:inherit;text-decoration:none}.brand small{font-size:9px;letter-spacing:2.2px}.mark{position:relative;width:42px;height:44px;font-size:48px;line-height:42px;letter-spacing:-6px}.mark span{position:absolute;font-size:19px;right:-2px;top:-7px;letter-spacing:0}.crew{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}main{max-width:650px;margin:58px auto 0;padding:0 26px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:20px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:#769856}h1{font-size:clamp(44px,7vw,64px);font-weight:600;line-height:1.05;letter-spacing:-3px;margin:0 0 23px}h1 span{color:#7b8773}.intro{max-width:430px;line-height:1.7;font-size:15px;margin:0 0 30px;color:var(--muted)}.upload-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 28px #20362605}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:27px}h2{font-size:18px;letter-spacing:-.4px;margin:0}.private{display:flex;gap:5px;align-items:center;font-size:10px;white-space:nowrap;color:var(--muted)}.private svg{width:13px;fill:none;stroke:currentColor;stroke-width:1.7}.job-label{display:flex;gap:8px;font-size:12px;font-weight:700;margin-bottom:9px}.job-label span{font-weight:400;color:#7f8a81}input[type=text],input[type=date]{font:inherit;font-size:13px;width:100%;height:45px;border:1px solid var(--line);border-radius:6px;padding:0 12px;color:var(--ink);margin-bottom:19px}input:focus-visible,button:focus-visible,.drop-zone:focus-within{outline:3px solid #93b866;outline-offset:3px}.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:165px;border:1.5px dashed #aebda6;border-radius:8px;background:#f9fbf5;text-align:center;cursor:pointer;gap:9px}.drop-zone:hover,.drop-zone.dragging{background:#f0f6e7}.drop-zone svg{width:34px;fill:none;stroke:#567243;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}.drop-zone strong{font-size:14px}.drop-zone>span{font-size:11px;color:var(--muted)}.drop-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.original-note{text-align:center;color:var(--muted);font-size:10px;margin:13px 0 18px}#access-note{font-size:12px;line-height:1.5;color:var(--muted);padding:11px 12px;background:#f5f6f1;border-radius:6px}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:7px;background:var(--ink);color:var(--lime);padding:17px 18px;font-size:14px;font-weight:700;cursor:pointer}.primary:disabled{opacity:.45;cursor:default}.primary>span{font-size:19px;font-weight:400}.connection{text-align:center;font-size:10px;line-height:1.5;margin:14px 0 0;color:var(--muted)}#queue{padding:0;margin:15px 0;list-style:none;display:flex;flex-direction:column;gap:12px}#queue li{padding:12px;background:#f6f7f2;border-radius:7px}.file-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.file-name{font-size:12px;font-weight:700;overflow-wrap:anywhere}.file-size{font-size:10px;color:var(--muted);margin-top:4px}.file-status{font-size:11px;margin-top:8px;line-height:1.45;overflow-wrap:anywhere}.file-progress{width:100%;height:5px;accent-color:#668149;margin-top:9px}.file-action{background:transparent;border:1px solid var(--line);border-radius:4px;padding:7px 9px;min-height:44px;color:var(--ink);font-size:11px;cursor:pointer}.error{color:var(--error)!important}.complete .file-status{color:#3c7034}#summary{font-size:12px;margin:15px 0;line-height:1.5}.benefits{display:flex;gap:26px;justify-content:space-between;margin:29px 0 23px}.benefits>div{display:flex;gap:9px;align-items:flex-start}.benefits b{font-size:10px;color:#9ca88c;margin-top:3px}.benefits span{font-size:11px;line-height:1.7;font-weight:700;white-space:nowrap}.benefits small{font-size:9px;font-weight:400;color:var(--muted)}.help{font-size:11px;line-height:1.75;color:var(--muted);max-width:540px}footer{font-size:9px;font-weight:700;letter-spacing:1.5px;margin-top:35px;border-top:1px solid var(--line);color:#7b8579}footer span{font-weight:400;letter-spacing:0;font-size:10px}@media(max-width:520px){header{padding:24px}.crew{font-size:8px;letter-spacing:1px}main{margin-top:36px;padding:0 20px}h1{letter-spacing:-2px}.upload-card{padding:20px}.card-heading{align-items:flex-start}h2{font-size:16px}.private{font-size:9px}.benefits{gap:10px;flex-wrap:wrap}.benefits>div{min-width:43%;margin-bottom:7px}.benefits span{font-size:11px}footer{padding:24px 20px}.intro{font-size:14px}}@media(prefers-reduced-motion:no-preference){button,.drop-zone{transition:background .15s,opacity .15s}}

.drop-zone[aria-disabled="true"]{opacity:.55;cursor:default}

textarea{font:inherit;font-size:16px;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);resize:vertical;min-height:104px;line-height:1.5;background:#fff}textarea:focus-visible{outline:3px solid #93b866;outline-offset:3px}.field-help{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 20px}.field-help span{display:block;margin-top:4px;font-variant-numeric:tabular-nums}.secondary{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:inherit;font-size:13px;margin-top:12px;cursor:pointer}.secondary[hidden]{display:none}input[type=text]{font-size:16px}.upload-card{box-shadow:0 14px 36px #2036260a}.complete{border-left:3px solid #668149}

.brand-logo{display:block;width:220px;height:auto;object-fit:contain}input[type=email],input[type=password]{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:8px;min-height:44px}#sign-in{margin-bottom:20px}

[hidden]{display:none!important}#signin-card .primary{margin-top:24px}#signin-card h2{margin-bottom:6px}

/* Phone ergonomics; original logo remains unmodified and unstretched. */
html{-webkit-text-size-adjust:100%;scroll-padding-block:24px}body{min-height:100vh;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-top:max(16px,env(safe-area-inset-top));gap:12px}
.brand{min-width:0;min-height:48px}.brand-logo{width:min(220px,54vw);max-width:100%}.crew{flex-shrink:0}
main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
input[type=text],input[type=email],input[type=password]{min-height:50px;font-size:16px;margin-bottom:20px;border-radius:9px;background:#fff;line-height:1.4}
.job-label{font-size:14px;line-height:1.5;margin-top:4px}.field-help,.help,.connection,.original-note{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
button{min-height:48px;touch-action:manipulation}.primary{min-height:56px;font-size:16px}.secondary{font-size:14px;margin-bottom:16px}
.password-field{display:flex;align-items:center;position:relative;margin-bottom:20px}.password-field input{padding-right:74px;margin-bottom:0}.password-toggle{position:absolute;right:4px;width:64px;min-height:44px;border:0;border-radius:6px;background:#f1f4eb;color:var(--ink);font:inherit;font-size:14px;font-weight:700}
#signin-note{font-size:14px;line-height:1.6}#signin-note.error{padding:12px;border-left:3px solid var(--error);background:#fff5f2;border-radius:5px}
.file-top>div{min-width:0;flex:1}.file-action{flex-shrink:0;min-width:64px;font-size:13px;min-height:48px}.file-name{font-size:14px}.file-size,.file-status{font-size:13px}.file-progress{height:8px}#summary,#access-note{font-size:14px}.drop-zone{min-height:150px}.drop-zone strong{font-size:16px}.drop-zone>span{font-size:13px}.benefits small{font-size:11px}.benefits span{white-space:normal}
:focus-visible{outline:3px solid #567243;outline-offset:3px}footer{gap:16px;flex-wrap:wrap;line-height:1.6}
@media(max-width:520px){header{padding-bottom:12px}main{margin-top:24px}.intro{font-size:15px;margin-bottom:24px}h1{font-size:44px;margin-bottom:18px}.upload-card{padding:20px}.card-heading{flex-wrap:wrap;margin-bottom:20px}}
@media(max-width:340px){main{padding-left:16px;padding-right:16px}.upload-card{padding:16px}.crew{font-size:7px}.card-heading{gap:8px}.benefits>div{min-width:100%}h1{font-size:40px}}
@media(max-height:500px) and (orientation:landscape){header{padding-block:8px}.brand-logo{width:150px}main{margin-top:16px}h1{font-size:36px}.intro{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

body[data-screen=signin] h1,body[data-screen=signin] .intro{display:none}body[data-screen=signin] main{max-width:520px}body[data-screen=signin] .eyebrow{margin-bottom:20px}

.crew-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.crew-nav button{flex:1;min-width:88px}.crew-nav [aria-pressed=true]{background:#213e31;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.media-card{min-width:0;border:1px solid #dbe1d5;border-radius:16px;padding:12px;background:#fff}.media-preview{background:#f2f3ec;border-radius:10px;overflow:hidden;min-height:100px;display:grid;place-items:center}.media-preview img,.media-preview video{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}.media-card h3{font-size:18px;overflow-wrap:anywhere}.media-byline,.media-filename{font-size:14px;overflow-wrap:anywhere;color:#526456}.media-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}.media-card a{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}#gallery-more{width:100%;margin-top:20px}#gallery-status{overflow-wrap:anywhere}body[data-screen=signin] #crew-nav,body[data-screen=signin] #gallery-card{display:none}@media(max-width:600px){.gallery-grid{grid-template-columns:minmax(0,1fr)}#gallery-card{padding:16px}.media-preview video{min-height:160px}}
.media-card details{margin:16px 0}.media-card summary{min-height:48px;cursor:pointer;font-size:16px;padding:12px 4px;font-weight:600}.media-edit-form label{display:block;margin:16px 0 8px;font-size:16px}.media-edit-form input,.media-edit-form textarea{font-size:16px;width:100%;min-height:48px}.revision{border-top:1px solid #dbe1d5;padding:12px 0}.version-link{overflow-wrap:anywhere;margin:12px 0}.media-preview img{image-orientation:from-image}
.gallery-dates{display:block}.gallery-date{margin:28px 0 36px}.gallery-date-heading{font-size:21px;line-height:1.3;padding-bottom:12px;border-bottom:1px solid #dbe1d5;margin:0 0 16px;overflow-wrap:anywhere}.media-date-source{font-size:14px;line-height:1.6;color:#526456;overflow-wrap:anywhere}.media-card>h4{font-size:18px;overflow-wrap:anywhere;margin:16px 0 10px}
body[data-view=gallery] main>.eyebrow,body[data-view=gallery] main>h1,body[data-view=gallery] main>.intro{display:none}body[data-view=gallery] .crew-nav{margin:12px 0 20px}.media-preview{position:relative;display:block;aspect-ratio:4/3;min-height:0}.media-preview img,.media-preview video{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;object-fit:contain}.media-preview>.field-help{position:absolute;inset:0;display:grid;place-content:center;margin:12px;font-size:14px}

/* Image-first gallery; job metadata stays in the private detail viewer. */
body:has(#gallery-card:not([hidden])) main{max-width:1100px}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.media-tile{position:relative;display:block;aspect-ratio:1;padding:0;border:0;border-radius:8px;overflow:hidden;background:#e6e9df;width:100%;min-height:0;cursor:pointer}
.media-tile img,.media-tile video,.media-tile canvas{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;image-orientation:from-image}
.tile-kind{position:absolute;z-index:1;bottom:8px;left:8px;padding:5px 8px;border-radius:5px;background:#15291ed9;color:white;font-size:12px}
.tile-fallback{display:grid;place-items:center;height:100%;padding:12px;font-size:13px;color:var(--muted)}
.media-viewer{width:min(900px,calc(100% - 24px));max-height:90vh;max-height:90dvh;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper);color:var(--ink);overscroll-behavior:contain}
.media-viewer::backdrop{background:#10251cbd}.media-viewer .media-card{border:0;padding:0;background:transparent}.media-viewer .media-preview img,.media-viewer .media-preview video{max-height:60vh;object-fit:contain}.viewer-close{display:block;width:auto;margin:0 0 12px auto;padding:0 16px}.media-viewer h4{overflow-wrap:anywhere}.media-viewer .media-card a{margin-bottom:12px}
@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#gallery-card{padding:12px}.media-viewer{padding:12px}}
@media(max-width:420px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.gallery-grouping{display:flex;gap:8px;margin:20px 0 12px}.gallery-grouping button{flex:1;min-width:0}.gallery-grouping [aria-pressed=true]{background:#213e31;color:#fff}

/* Native shell supplies the brand and navigation. */
body[data-native=android]>header,body[data-native=android]>footer,body[data-native=android] #crew-nav{display:none}
body[data-native=android] main{margin:0 auto;padding:8px 22px 24px}
body[data-native=android][data-view=gallery] #gallery-card{border:0;box-shadow:none;background:transparent;padding:0}
body[data-native=android][data-view=gallery] #gallery-card>.card-heading{display:contents}
body[data-native=android][data-view=gallery] #gallery-card>.card-heading h2,body[data-native=android] #gallery-refresh{display:none}
body[data-native=android][data-view=gallery] #gallery-grouping{margin-top:8px}

/* Cinematic video viewer, scoped independently of the upload portal. */
body[data-feed-open=true]{overflow:hidden}
.video-feed{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0b0d0c;color:#fff;overflow:hidden;color-scheme:dark}
.video-feed::backdrop{background:#0b0d0c}.feed-scroll{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none}.feed-scroll::-webkit-scrollbar{display:none}
.feed-slide{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;background:#0b0d0c;isolation:isolate}.feed-video{position:absolute;width:100%;height:100%;object-fit:contain;background:#0b0d0c}.feed-slide::after{content:'';position:absolute;inset:50% 0 0;pointer-events:none;background:linear-gradient(transparent,#0009 65%,#000d);z-index:1}
.feed-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 16px;background:linear-gradient(#0009,transparent);z-index:3;pointer-events:none}.feed-top>*{pointer-events:auto}.feed-brand{font-size:11px;font-weight:700;letter-spacing:3px;color:#dbf5aa}
.video-feed button,.feed-comments button{font:inherit;cursor:pointer;color:#fff;border:0;margin:0;min-height:48px}.feed-round{width:48px;flex-shrink:0;border-radius:50%;background:#ffffff1a;font-size:22px!important;backdrop-filter:blur(12px)}.feed-round:disabled{opacity:.25;cursor:default}.feed-round:hover{background:#ffffff30}
.feed-bottom{position:absolute;z-index:2;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;gap:20px;text-shadow:0 1px 6px #000}.feed-identity{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:52%}.feed-author{font-size:19px;overflow-wrap:anywhere}.feed-job{font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:#f1f3ed}.feed-date{max-width:46%;display:flex;flex-direction:column;gap:4px;text-align:right;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.feed-date-label{font-size:10px;letter-spacing:.5px;color:#dbf5aa}
.feed-actions{position:absolute;z-index:2;right:max(18px,env(safe-area-inset-right));bottom:calc(200px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.feed-action{background:#111b18a8;border-radius:26px;padding:8px 14px;min-width:64px;font-size:23px!important;backdrop-filter:blur(12px)}.feed-action[aria-pressed=true]{color:#dbf5aa}.feed-details{position:absolute;z-index:2;left:20px;top:90px}.feed-navigation{position:absolute;right:18px;top:90px;display:flex;flex-direction:column;gap:8px;z-index:3}
.feed-playback{position:absolute;z-index:2;bottom:calc(14px + env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px}.feed-seek{min-width:0;width:100%;height:48px;accent-color:#dbf5aa;cursor:pointer}.feed-feedback{position:absolute;z-index:3;top:160px;left:20px;right:80px;font-size:14px;line-height:1.5;pointer-events:none;text-shadow:0 1px 4px #000}.feed-feedback:empty{display:none}.feed-media-error{position:absolute;z-index:2;top:35%;left:24px;right:24px;padding:20px;background:#18241de6;border-radius:16px;font-size:15px;line-height:1.6}
.feed-comments{position:fixed;inset:auto 0 0;width:min(680px,100%);max-width:100%;height:72dvh;max-height:calc(100dvh - env(safe-area-inset-top));margin:0 auto;padding:20px 20px max(20px,env(safe-area-inset-bottom));border:1px solid #ffffff18;border-radius:24px 24px 0 0;background:#152019;color:#fff;color-scheme:dark;overflow:auto;overscroll-behavior:contain}.feed-comments::backdrop{background:#0008}.feed-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.feed-sheet-head h2{font-size:20px}.feed-comment-list{margin:16px 0}.feed-comment{padding:18px 0;border-bottom:1px solid #ffffff16;overflow-wrap:anywhere}.feed-comment p{white-space:pre-wrap;line-height:1.6;font-size:15px;margin:10px 0}.feed-comment-byline{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px}.feed-comment-byline span{font-size:11px;color:#aab9ab}.feed-comment-delete{background:transparent;padding:6px 0;color:#dbf5aa!important;font-size:13px!important}.feed-comment-status{font-size:14px;line-height:1.5;color:#cbd7c8}.feed-comment-label{display:block;font-size:14px;margin-bottom:10px}.feed-comments textarea{background:#0b130e;border:1px solid #465a49;color:#fff;min-height:76px}.feed-post{background:#dbf5aa;border-radius:12px;color:#23382e!important;font-weight:700!important;padding:0 24px;min-width:100%;margin-top:12px!important}.feed-post:disabled{opacity:.5}.video-feed :focus-visible,.feed-comments :focus-visible{outline:3px solid #dbf5aa;outline-offset:3px}
@media(min-width:800px){.feed-video{max-width:680px;left:50%;transform:translateX(-50%)}.feed-bottom,.feed-playback{left:calc(50% - 310px);right:calc(50% - 310px)}.feed-actions{right:calc(50% - 310px)}}
.feed-action{display:flex;flex-direction:column;align-items:center;gap:5px}.feed-icon{display:block;width:25px;height:25px}.feed-icon svg{display:block;width:100%;height:100%}.feed-count{font-size:12px;font-weight:700}.feed-action[aria-pressed=true] .feed-icon svg{fill:#dbf5aa}.feed-round .feed-icon{margin:auto}.feed-details .feed-action{font-size:24px!important}

/* Admin publication stays near the selected item, clear of playback controls. */
.publication-controls{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:260px;margin:10px 0}
.publication-controls button{min-height:44px;font-size:14px!important;line-height:1.3;border:1px solid #d4f5c838;background:#18372de6;color:#f5fff4;backdrop-filter:blur(16px)}
.publication-controls .field-help{margin:0;font-size:12px;line-height:1.4;color:#d8e5da}
.feed-details .publication-controls{max-width:min(230px,calc(100vw - 130px))}
.feed-details .publication-controls .field-help{background:#101b16cc;border-radius:8px;padding:6px 8px}
