:root{color-scheme:light;--green:#3d3f43;--ink:#303236;--muted:#808286;--line:#e5e7eb;--bg:#f6f7f8}*{box-sizing:border-box}body{font:16px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--ink);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a{color:var(--green)}button:focus-visible,a:focus-visible{outline:3px solid #94969a;outline-offset:3px}input,select,textarea{border:1px solid var(--line);background:var(--q-surface);border-radius:10px;padding:10px 12px;max-width:100%}textarea{width:100%;resize:vertical;min-height:180px}label{display:block;margin:15px 0}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:5px}h1{font-size:25px;margin:24px 0 16px}h2{font-size:20px;margin:0 0 14px}h3{font-size:17px}p{overflow-wrap:anywhere}.site-header{max-width:1050px;margin:auto;display:flex;align-items:center;gap:18px;padding:24px}.site-header span{color:var(--muted);font-size:14px}.brand{font-size:30px;font-weight:750;text-decoration:none;letter-spacing:3px}.prototype-link{margin-left:auto;font-size:13px}.dev-strip{background:var(--q-tint);max-width:1000px;margin:auto;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.dev-strip[hidden]{display:none}.dev-strip label{display:flex;align-items:center;gap:12px;margin:0}.dev-strip select{font-size:14px;padding:5px;width:auto;margin:0}main{max-width:900px;margin:0 auto;padding:0 24px 110px}.row{display:flex;align-items:center;gap:12px;justify-content:space-between}.row input{flex:1;min-width:0}.muted{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:var(--q-surface);padding:24px;border:1px solid var(--line);border-radius:15px;text-align:left}.card p{font-size:15px;color:var(--q-muted)}.card .excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card button.title{text-align:left;padding:0;font-size:19px;font-weight:600}.meta{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.badge{background:var(--q-tint);color:var(--green);font-size:12px;padding:3px 8px;border-radius:6px}.primary{background:var(--green);color:white;border-radius:9px;padding:10px 18px}.secondary{border:1px solid var(--line);border-radius:9px;background:var(--q-surface);padding:8px 14px}.nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;justify-content:center;gap:40px;padding:12px 15px max(12px,env(safe-area-inset-bottom));z-index:2}.nav button{min-height:42px;min-width:50px;font-size:14px}.nav button.active{color:var(--green);font-weight:700}.nav .publish{font-size:27px;background:transparent;color:var(--green);box-shadow:inset 0 0 0 1.6px var(--green);border-radius:11px;padding:0 12px}.empty{padding:45px;text-align:center;color:var(--muted);background:var(--q-surface);border-radius:14px}.stack{display:grid;gap:14px}dialog{border:0;border-radius:18px;width:min(650px,94vw);padding:0;max-height:92dvh;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#212327aa;backdrop-filter:blur(4px)}dialog>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--bg);z-index:1}dialog>header h2{margin:0}dialog>header button{font-size:28px}#dialog-body{padding:24px}.body-text{white-space:pre-wrap;line-height:1.95}.comment{border-top:1px solid var(--line);padding:16px 0}.comment p{margin:7px 0}.notice{background:var(--q-tint);padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:20px}.error{color:#a03932}#status{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:10px 18px;border-radius:10px;max-width:90%;z-index:9}#status:empty{display:none}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.check-row{display:flex;gap:20px;flex-wrap:wrap}.check-row label{margin:4px 0}.link-button{color:var(--green);padding:0;font-size:14px}.group-buttons{display:flex;gap:8px;margin-top:14px}.form-error{color:#a03932}.wide{width:100%}@media(max-width:650px){main{padding:0 15px 105px}.site-header{padding:18px 15px;gap:10px}.site-header span{display:none}.prototype-link{font-size:12px}.dev-strip{margin:0 12px;display:block;border-radius:10px}.dev-strip label{margin-top:8px}.grid{gap:12px}.card{padding:16px}.card button.title{font-size:16px}.nav{gap:0;justify-content:space-around}.nav button{font-size:13px}dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;border-radius:0;margin:0}#dialog-body{padding:20px}.row{gap:8px}h1{font-size:23px}.primary{padding:9px 14px}}

.post-photos{display:flex;gap:10px;overflow:auto}.post-photos img{max-width:90%;max-height:420px;object-fit:contain;border-radius:12px}.feed-photo{width:100%;max-height:280px;object-fit:cover;border-radius:12px}

/* Shared video material tokens */
:root{--card:white;--sub:#ebebe9;--field:rgba(0,0,0,.055);--green-hi:var(--green);--fg:var(--ink);--dim:var(--muted);--danger:#b5423a;--glass:rgba(246,246,244,.92);--r-page:12px;--r-card:10px;--r-pill:20px;--r-small:6px;--dur-s:180ms;--dur-m:300ms;--ease:cubic-bezier(.2,.8,.2,1);--tab-h:56px;--nav-h:48px;--safe-b:env(safe-area-inset-bottom,0px);--video-tone-0:rgba(255,255,255,.18);--video-tone-1:rgba(255,255,255,.45);--video-tone-2:rgba(255,255,255,.3);--video-tone-3:rgba(0,0,0,.45);--video-tone-4:rgba(0,0,0,.12);--video-tone-5:rgba(0,0,0,.55);--video-tone-6:rgba(0,0,0,.06);--video-tone-7:rgba(0,0,0,.4);--video-tone-8:rgba(0,0,0,.6);--video-tone-9:rgba(0,0,0,.5);--video-tone-10:rgba(0,0,0,.3);--video-tone-11:#0f1110;--video-tone-12:#fff}

/* Batch52 fix2: a discreet, accessible cancel control next to upload status. */
.video-state .video-cancel-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin-inline-start:8px;border:0;border-radius:50%;background:transparent;color:inherit;text-decoration:none;font-size:24px;line-height:1;vertical-align:middle;cursor:pointer}
.video-state .video-cancel-icon:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Batch53 shared video materials. Explanatory text wraps on compact phones. */
:root{--video-stage-bg:#eceef2;--video-stage-success:#eaecf0;--video-stage-error:#f7e8e6;--video-stage-warning:#f8efdf;--video-warning-ink:#846019;--video-stage-radius:12px}
#video-note{width:100%;max-width:none;min-width:0}
.video-state.video-stage{position:relative;display:flex;align-items:center;gap:8px;min-height:36px;margin:0 0 10px;padding:8px 12px 10px;border-radius:var(--video-stage-radius);background:var(--video-stage-bg);color:var(--green);font-size:12px;line-height:1.5;overflow:hidden}
.video-state.video-stage[hidden]{display:none}.video-stage.success{background:var(--video-stage-success)}.video-stage.error{background:var(--video-stage-error);color:var(--danger)}.video-stage.warning{background:var(--video-stage-warning);color:var(--video-warning-ink)}
.stage-copy{display:flex;flex:1;min-width:0;flex-direction:column}.stage-copy strong{font-weight:600;font-size:13px}.stage-copy small{font-size:11px;opacity:.85}.video-stage button{flex-shrink:0;font-size:12px;padding:8px 4px;text-decoration:underline;min-height:36px}.stage-dot,.video-card-state i{display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}.breathing{animation:video-breathe 1.8s ease-in-out infinite}.stage-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--green);transition:width .2s linear;max-width:100%}
#video-note .video-player{position:relative;display:block;width:100%;max-width:none;max-height:none;overflow:hidden;border-radius:var(--r-page);background:var(--video-tone-11)}
.video-preview-poster{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.video-preview-empty{display:grid;place-content:center;width:100%;height:100%;background:var(--sub);color:var(--dim)}.video-preview-play{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;background:var(--video-tone-3);color:var(--video-tone-12);font-size:26px;z-index:2}.video-local-label,.video-duration{position:absolute;bottom:8px;padding:2px 7px;border-radius:var(--r-small);background:var(--video-tone-3);color:var(--video-tone-12);font-size:11px;line-height:1.5;pointer-events:none}.video-local-label{left:8px}.video-duration{right:8px}.player .video-local-label{bottom:44px}.video-surface .player video{width:100%;height:100%;object-fit:contain}.video-surface .player .poster{width:100%;height:100%;object-fit:cover}
.video-feed-card .cover-button{display:block;width:100%;padding:0;overflow:hidden}.video-card-frame{position:relative;display:block;width:100%;overflow:hidden;border-radius:var(--r-page);background:var(--sub)}.video-feed-card .feed-photo{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0}.video-feed-card .video-card-state{position:absolute;top:8px;left:8px;right:auto;bottom:auto;transform:none;display:flex;align-items:center;gap:5px;width:auto;max-width:calc(100% - 16px);padding:4px 7px;border-radius:var(--r-pill);background:var(--card);color:var(--green);font-size:11px;line-height:1.4;text-shadow:none}.video-card-state.error{color:var(--danger)}.video-card-state.warning{color:var(--video-warning-ink)}.video-comment-hint{flex:1;min-width:0;font-size:12px;color:var(--muted);padding:10px 0}.note-bottom form[hidden]{display:none}
@keyframes video-breathe{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.breathing{animation:none}.stage-progress{transition:none}}

#video-note .player video{position:absolute;inset:0;max-height:none}#video-note .player .big,#video-note .player .spin{left:50%;top:50%;margin-left:-28px;margin-top:-28px}#video-note .player .spin{margin-left:-16px;margin-top:-16px}

.video-stage:has(.video-sync){flex-wrap:wrap}.video-sync{flex-basis:100%;font-size:11px}.video-sync button{margin-left:8px}
