.community-page { min-height:100vh; background:var(--bg-body); color:var(--text-primary); font-family:'Outfit',sans-serif; }
.community-page [hidden], .community-provision [hidden] { display:none!important; }
.community-background { position:fixed; inset:0; z-index:-1; background-position:center; background-size:cover; pointer-events:none; }
.community-background::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,5,8,.62),rgba(5,5,8,.88) 55%,var(--bg-body)),radial-gradient(ellipse at top right,rgba(196,18,48,.16),transparent 65%); }
.community-header { max-width:1240px; margin:auto; padding:30px 36px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border-strong); }
.community-header .nav-logo { display:flex; align-items:center; gap:10px; font:28px 'Bebas Neue',sans-serif; letter-spacing:2px; text-decoration:none; color:var(--text-primary); }
.community-header .community-wordmark { color:var(--text-primary); }
.community-header .community-wordmark > span { color:var(--accent); }
.community-shell { max-width:1240px; margin:auto; padding:20px 36px 64px; }
.community-welcome { padding:48px 0 36px; }
.community-welcome h1 { font:clamp(54px,7vw,100px)/1 'Bebas Neue',sans-serif; letter-spacing:2px; margin:20px 0 12px; overflow-wrap:anywhere; }
.community-intro { font-size:clamp(18px,2vw,25px); color:var(--text-secondary); margin:0 0 22px; }
.community-brief { max-width:760px; white-space:pre-wrap; line-height:1.7; color:var(--text-secondary); }
.community-meta { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:26px; font-size:13px; color:var(--text-muted); }
.community-badge { border:1px solid var(--border-accent-strong); background:var(--accent-bg-subtle); border-radius:0; padding:8px 12px; font-size:12px; letter-spacing:.4px; }
.community-columns { display:grid; grid-template-columns:1.2fr 1fr; gap:22px; }
.community-panel { min-width:0; padding:30px; border:1px solid var(--border-strong); border-radius:0; background:var(--bg-panel); box-shadow:0 16px 40px var(--shadow-panel); }
.community-panel h2 { font:32px 'Bebas Neue',sans-serif; letter-spacing:1px; margin:12px 0; }
.community-panel p { color:var(--text-muted); line-height:1.6; }
.community-panel label:not(.community-drop), .community-provision label { display:block; margin:18px 0 8px; font-size:13px; color:var(--text-secondary); }
.community-panel input:not([type=file]), .community-panel textarea, .community-provision input, .community-provision textarea { width:100%; box-sizing:border-box; border:1px solid var(--border-strong); border-radius:0; padding:12px; color:var(--text-primary); background:var(--bg-input); font:inherit; }
.community-panel textarea, .community-provision textarea { resize:vertical; }
.community-page :focus-visible, .community-provision :focus-visible { outline:2px solid var(--accent-glow); outline-offset:4px; }
.community-panel button { max-width:100%; padding-inline:20px; margin-top:16px; white-space:normal; }
.community-drop { display:flex; flex-direction:column; align-items:center; text-align:center; gap:9px; padding:28px 14px; margin:24px 0; border:1px dashed var(--border-accent-strong); border-radius:0; background:var(--accent-bg-faint); cursor:pointer; }
.community-drop.is-dragging { border-color:var(--accent-glow); background:var(--accent-bg-medium); }
.community-drop span:not(.community-plus) { font-size:12px; color:var(--text-muted); }
.community-plus { font-size:36px; color:var(--accent); line-height:1; }
.community-drop input { max-width:100%; color:var(--text-muted); font:inherit; font-size:12px; }
.community-small { font-size:12px; color:var(--text-muted); }
.community-notice:not(:empty) { padding:20px; border:1px solid var(--border-accent-strong); border-radius:0; background:var(--bg-panel); }
.community-notice:empty { display:none; }
.community-queue { display:grid; gap:8px; margin-top:14px; font-size:13px; }
.community-queue > div { padding:10px; border-radius:0; background:var(--bg-subtle); overflow-wrap:anywhere; }
.community-queue progress { display:block; width:100%; accent-color:var(--accent); margin-top:8px; }
.community-gallery { margin-top:24px; }
.community-gallery-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.community-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-top:24px; }
.community-card { overflow:hidden; border:1px solid var(--border-strong); border-radius:0; background:var(--bg-input); }
.community-card img, .community-card video { width:100%; height:180px; object-fit:contain; background:var(--bg-deep); display:block; }
.community-card audio { width:100%; margin:25px 0; }
.community-card-body { padding:16px; overflow-wrap:anywhere; }
.community-card h3 { font-size:14px; margin:0 0 8px; }
.community-card p { font-size:12px; white-space:pre-wrap; }
.community-card a { color:var(--text-primary); font-size:12px; text-underline-offset:4px; }
.community-footer { position:static; width:auto; display:block; max-width:1240px; padding:25px 36px; margin:auto; border-top:1px solid var(--border-strong); color:var(--text-muted); font-size:12px; }
.community-footer a { color:var(--text-primary); }
.community-footer span { float:right; }
.community-provision { margin-bottom:28px; padding:24px; border:1px solid var(--border-strong); border-radius:0; background:var(--bg-subtle); }
.community-provision > h2 { margin:0 0 12px; }
.community-provision-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.community-provision .community-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.community-provision img { max-width:160px; height:80px; object-fit:cover; border-radius:0; margin-top:12px; }
.community-links { display:grid; gap:12px; margin-top:24px; }
.community-link-row { padding:16px; border:1px solid var(--border-strong); border-radius:0; }
.community-link-row p { margin:8px 0; font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; }
.community-link-row input { width:auto; max-width:100%; }
.community-link-row .is-closed { color:var(--danger); }
.community-provision .community-link-result { margin-top:20px; padding:16px; border:1px solid var(--border-accent-strong); border-radius:0; }
.asset-actions a { color:var(--text-primary); font-size:12px; text-underline-offset:3px; }
.community-provision input[type=datetime-local] { color-scheme:dark; }
@media(max-width:760px) { .community-columns,.community-provision-grid { grid-template-columns:1fr; } .community-header { padding:20px; } .community-shell { padding:12px 18px 40px; } .community-panel { padding:22px; } .community-welcome { padding-top:30px; } .community-meta { align-items:flex-start; } .community-footer { padding:20px; } .community-footer span { display:block; float:none; margin-top:12px; } .community-gallery-heading { align-items:flex-start; flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .community-page *, .community-provision * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Reuse Mobvision's slanted geometry for surfaces; inputs retain square, legible edges. */
.community-panel, .community-provision { clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%); }
.community-card, .community-link-row, .community-link-result, .community-provision img { clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); }
.community-badge, .community-queue > div { clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%); }
.community-drop, .community-notice:not(:empty) { clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%); }
.community-drop input::file-selector-button { border:1px solid var(--border-strong); border-radius:0; background:var(--bg-subtle-hover); color:var(--text-primary); padding:8px 14px; margin-right:8px; font:inherit; cursor:pointer; clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%); }
.community-person-fields { border:0; padding:0; margin:0; min-width:0; }
.community-people-layout > * { min-width:0; }
.community-person-fields select { width:100%; min-width:0; padding:12px; border:1px solid var(--border-strong); border-radius:0; background:var(--bg-input); color:var(--text-primary); font:inherit; }
.community-person-preview { width:160px; max-width:100%; height:200px; object-fit:contain; background:var(--bg-deep); clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); }
.community-person-actions { display:flex; flex-wrap:wrap; gap:10px; }
.community-people-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:16px; margin-top:18px; }
.community-person-card img { height:240px; object-fit:contain; }
.community-person-card .community-person-role { color:var(--accent-glow); font-weight:600; }
.community-provision .community-person-card img { width:100%; max-width:none; height:200px; margin:0; }
.community-provision .community-person-card { max-width:360px; }
.community-list-toolbar { display:flex; flex-wrap:wrap; gap:16px; align-items:end; }
.community-list-toolbar > div:first-child { flex:2 1 240px; min-width:0; }
.community-list-toolbar > div:last-child { flex:1 1 210px; min-width:0; }
.community-provision select { width:100%; min-width:0; box-sizing:border-box; padding:12px; border:1px solid var(--border-strong); border-radius:0; background:var(--bg-input); color:var(--text-primary); font:inherit; }
.community-entry-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.community-entry-title { margin:0; font-size:19px; overflow-wrap:anywhere; }
.community-entry-head .community-badge { padding:6px 12px; }
.community-link-row .community-small:empty { display:none; }
.community-access { margin-top:20px; padding-top:14px; border-top:1px solid var(--border-strong); }
.community-access summary { width:fit-content; cursor:pointer; color:var(--text-secondary); font-size:12px; letter-spacing:1px; text-transform:uppercase; padding:6px 0; }
