/* Studio navigation is available from every workspace. */
.studio-nav { display:flex; align-items:stretch; align-self:stretch; gap:3px; }
.studio-nav-link { position:relative; display:flex; align-items:center; padding:0 14px; border:0; color:#aaa; background:transparent; font:500 11px 'DM Mono',monospace; text-decoration:none; text-transform:uppercase; letter-spacing:.6px; }
.studio-nav-link:hover,.studio-nav-link.is-active { color:#fff; }
.studio-nav-link[hidden] { display:none!important; }
.studio-nav-link.is-active::after { position:absolute; right:12px; bottom:0; left:12px; height:2px; background:#fff; content:''; }
html[data-studio-app="home"] #homeNav { color:#fff; }
html[data-studio-app="home"] #homeNav::after { position:absolute; right:12px; bottom:0; left:12px; height:2px; background:#fff; content:''; }
.reviews-view { display:grid; grid-template-columns:minmax(215px,250px) minmax(0,1fr) minmax(280px,340px); height:calc(100dvh - 54px); min-height:620px; background:#141414; color:#f5f5f5; }
.reviews-home { min-height:calc(100dvh - 54px); padding:clamp(28px,5vw,74px) clamp(20px,7vw,110px) 65px; background:#ececec; background-image:linear-gradient(135deg,rgba(255,255,255,.48) 0 25%,transparent 25% 75%,rgba(255,255,255,.48) 75%); background-size:440px 440px; color:#101010; }
.reviews-home[hidden] { display:none!important; }
.reviews-home [hidden] { display:none!important; }
.reviews-home.is-loading .reviews-home-inner { visibility:hidden; }
.reviews-home-loading { min-height:calc(100dvh - 185px); display:grid; place-items:center; color:#666; font:500 11px 'DM Mono',monospace; letter-spacing:.08em; }
.reviews-home-inner { max-width:1440px; margin:auto; }
.reviews-home-top { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-bottom:46px; }
.reviews-home-top .eyebrow,.reviews-home-heading,.reviews-home-card-tag,.reviews-project-context,#reviewsProjectMeta { font:10px 'DM Mono',monospace; letter-spacing:.08em; }
.reviews-home-top .eyebrow { color:#777; }
.reviews-home-top h1 { margin:13px 0 10px; font:600 clamp(36px,4.5vw,64px)/1 'Space Grotesk',sans-serif; letter-spacing:-.055em; }
.reviews-home-top p { max-width:570px; margin:0; color:#666; font-size:14px; line-height:1.55; }
.reviews-home-create,#reviewsCreateVersion { flex:none; min-height:46px; padding:0 18px; border:1px solid #111; background:#111; color:#fff; font:600 12px 'Space Grotesk',sans-serif; cursor:pointer; }
.reviews-home-create:hover,#reviewsCreateVersion:hover { background:#fff; color:#111; }
.reviews-home-context { display:flex; align-items:center; gap:20px; margin-bottom:36px; padding:15px 0; border-top:1px solid #bbb; border-bottom:1px solid #bbb; }
.reviews-home-context>button:first-child { flex:none; border:0; background:none; color:#111; font:600 11px 'DM Mono',monospace; cursor:pointer; }
.reviews-home-context>button:first-child:hover { text-decoration:underline; }
#reviewsProjectMeta { flex:1; color:#777; font-size:9px; line-height:1.5; }
.reviews-home-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin-bottom:15px; padding-bottom:10px; border-bottom:1px solid #aaa; color:#666; }
.reviews-home-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-left:auto; }
.reviews-home-controls label { display:flex; align-items:center; gap:6px; color:#666; white-space:nowrap; }
.reviews-home-controls select { max-width:190px; height:31px; padding:4px 26px 4px 8px; border:1px solid #bbb; border-radius:0; background:#f7f7f7; color:#111; font:10px 'DM Mono',monospace; }
.reviews-home-view-switch { display:flex; border:1px solid #aaa; }
.reviews-home-view-switch button { width:34px; height:29px; border:0; background:#f7f7f7; color:#666; font:18px/1 'Space Grotesk',sans-serif; cursor:pointer; }
.reviews-home-view-switch button+button { border-left:1px solid #aaa; }
.reviews-home-view-switch button:hover,.reviews-home-view-switch button[aria-pressed="true"] { background:#111; color:#fff; }
.reviews-home-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(265px,1fr)); gap:18px; }
.reviews-home-grid.is-list-view { grid-template-columns:minmax(0,1fr); gap:9px; }
.is-list-view .reviews-home-card { display:flex; align-items:stretch; box-shadow:none; }
.is-list-view .reviews-home-card:hover { transform:none; box-shadow:4px 4px 0 rgba(0,0,0,.12); }
.is-list-view .reviews-home-card-open { display:flex; align-items:stretch; flex:1 1 auto; min-width:0; }
.is-list-view .reviews-home-card-cover { flex:0 0 112px; height:auto; min-height:76px; }
.is-list-view .reviews-home-card-content { display:grid; grid-template-columns:minmax(95px,.45fr) minmax(0,1.5fr) auto; align-items:center; gap:14px; min-width:0; min-height:76px; padding:10px 16px; }
.is-list-view .reviews-home-card-tag,.is-list-view .reviews-home-card-open strong { margin:0; }
.is-list-view .reviews-home-card-open strong { font-size:18px; }
.is-list-view .reviews-home-card-actions { flex:0 0 auto; border-top:0; border-left:1px solid #ddd; }
.is-list-view .reviews-home-card-actions button { min-width:72px; padding:8px 10px; }
.reviews-home-card { min-width:0; border:1px solid #151515; background:#fff; box-shadow:8px 8px 0 rgba(0,0,0,.08); transition:transform .18s,box-shadow .18s; }
.reviews-home-card:hover { transform:translate(-2px,-2px); box-shadow:10px 10px 0 rgba(0,0,0,.16); }
.reviews-home-card-open { display:block; width:100%; padding:0; border:0; background:transparent; color:#111; text-align:left; cursor:pointer; }
.reviews-home-card-cover,.reviews-cover-preview { position:relative; display:block; overflow:hidden; background:#151515; }
.reviews-home-card-cover { height:145px; }
.reviews-home-card-cover img,.reviews-cover-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.reviews-home-card-content { display:flex; flex-direction:column; align-items:flex-start; width:100%; min-height:140px; padding:18px 20px 19px; }
.is-review-card .reviews-home-card-content { min-height:185px; }
.reviews-home-card-tag { display:block; margin-bottom:auto; color:#777; font-size:9px; }
.reviews-home-card-open strong { display:block; max-width:100%; margin:14px 0 5px; overflow-wrap:anywhere; font:600 22px/1.1 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.reviews-home-card-open small { color:#777; font:10px 'DM Mono',monospace; }
.reviews-home-card-actions { display:flex; gap:0; border-top:1px solid #ddd; }
.reviews-home-card-actions button { flex:1; padding:12px; border:0; background:#f8f8f8; color:#555; font:10px 'DM Mono',monospace; cursor:pointer; }
.reviews-home-card-actions button+button { border-left:1px solid #ddd; }
.reviews-home-card-actions button:hover { background:#111; color:#fff; }
.reviews-home-empty { display:grid; justify-items:center; gap:10px; padding:65px 25px; border:1px dashed #999; background:rgba(255,255,255,.55); text-align:center; }
.reviews-home-empty>span { font-size:40px; }
.reviews-home-empty h2 { margin:0; font:600 23px 'Space Grotesk',sans-serif; }
.reviews-home-empty p { max-width:380px; margin:0; color:#777; font-size:12px; line-height:1.5; }
.reviews-home-empty button { margin-top:10px; padding:10px 16px; border:1px solid #111; background:#111; color:#fff; cursor:pointer; }
.reviews-library-back { display:block; margin-bottom:20px; padding:0; border:0; background:none; color:#aaa; font:10px 'DM Mono',monospace; cursor:pointer; }
.reviews-library-back:hover { color:#fff; }
.reviews-form-modal { display:flex; flex-direction:column; width:min(620px,100%); max-height:calc(100dvh - 32px); padding:22px 26px; overflow:hidden; }
.reviews-form-modal [hidden] { display:none!important; }
.reviews-form-modal h2 { margin:3px 0 4px; }
.reviews-form-modal .modal-copy { margin:0; }
.reviews-form-modal .modal-actions { flex:none; margin-top:12px; padding-top:12px; border-top:1px solid #ddd; }
.reviews-form-fields { display:grid; gap:10px; min-height:0; margin-top:12px; padding:2px; overflow-y:auto; }
.reviews-form-fields label { display:grid; gap:4px; color:#777; font:10px 'DM Mono',monospace; }
.reviews-form-fields input,.reviews-form-fields select,.reviews-copy-input { width:100%; min-width:0; padding:8px 10px; border:1px solid #bcbcbc; border-radius:0; background:#fff; color:#111; font:13px 'Space Grotesk',sans-serif; }
.reviews-form-fields input:focus,.reviews-form-fields select:focus,.reviews-copy-input:focus { outline:2px solid #111; outline-offset:1px; }
#reviewsProjectFields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#reviewsProjectFields > label:first-child,#reviewsProjectFields > .reviews-cover-fields,#reviewsProjectFields > p { grid-column:1/-1; }
#reviewsProjectFields p { margin:0; color:#888; font:10px 'DM Mono',monospace; }
.reviews-cover-fields { min-width:0; margin:0; padding:0; border:0; }
.reviews-cover-fields legend { margin-bottom:6px; color:#777; font:10px 'DM Mono',monospace; }
.reviews-cover-layout { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; }
.reviews-cover-preview { min-height:96px; }
.reviews-cover-settings { display:grid; align-content:start; gap:7px; min-width:0; }
.reviews-cover-preview.is-color>span,.reviews-cover-preview.is-image>span { display:none; }
.reviews-cover-options { display:flex; flex-wrap:wrap; gap:6px; }
.reviews-form-fields .reviews-cover-options label { display:flex; align-items:center; gap:6px; padding:6px 8px; border:1px solid #bbb; color:#333; font:10px 'DM Mono',monospace; cursor:pointer; }
.reviews-form-fields .reviews-cover-options label:has(input:checked) { border-color:#111; background:#111; color:#fff; }
.reviews-form-fields .reviews-cover-options input { width:auto; min-width:0; margin:0; padding:0; accent-color:var(--brand-orange); }
.reviews-form-fields .reviews-cover-control { display:grid; gap:7px; }
.reviews-form-fields input[type="file"] { padding:6px; }
.reviews-cover-palette { display:flex; flex-wrap:wrap; gap:5px; }
.reviews-cover-palette > button,.reviews-cover-custom { position:relative; display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; padding:0; border:1px solid #aaa; border-radius:0; background:var(--swatch,#fff); cursor:pointer; }
.reviews-cover-palette > button[aria-pressed="true"],.reviews-cover-custom.is-selected { outline:2px solid #111; outline-offset:2px; }
.reviews-cover-palette > button:focus-visible,.reviews-cover-custom:focus-within { outline:2px solid #111; outline-offset:2px; }
.reviews-cover-custom { overflow:hidden; color:#111; font:600 21px/1 'Space Grotesk',sans-serif; }
.reviews-form-fields .reviews-cover-custom input[type="color"] { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; opacity:0; cursor:pointer; }
#reviewsCoverMessage:empty { display:none; }
@media (max-width:540px) { .reviews-form-modal { padding:20px 16px; } .reviews-cover-layout { grid-template-columns:96px minmax(0,1fr); gap:8px; } .reviews-cover-preview { min-height:96px; } }
@media (max-width:400px) { #reviewsProjectFields { grid-template-columns:minmax(0,1fr); } .reviews-cover-layout { grid-template-columns:minmax(0,1fr); } .reviews-cover-preview { height:70px; min-height:0; } }
.reviews-copy-input { margin-top:15px; font:11px 'DM Mono',monospace; }
.reviews-view[hidden] { display:none!important; }
.reviews-view [hidden] { display:none!important; }
body.public-review .auth-gate { display:none!important; }
body.public-review.auth-locked .app-shell { visibility:visible; }
body.public-review .topbar,body.public-review .reviews-library-back,body.public-review .reviews-upload,body.public-review .reviews-link-form,body.public-review .reviews-dropbox-only,body.public-review .reviews-list-heading button,body.public-review #reviewsShareBtn,body.public-review #reviewsRemoveMedia,body.public-review #reviewsEmptyUpload { display:none!important; }
body.public-review .reviews-view { height:100dvh; grid-template-columns:minmax(195px,240px) minmax(0,1fr) minmax(280px,340px); }
body.legacy-public-review .reviews-library { display:none; }
body.legacy-public-review .reviews-view { grid-template-columns:minmax(0,1fr) minmax(280px,340px); }
.studio-settings-button { display:grid; place-items:center; width:36px; height:36px; border:1px solid #4b4b4b; border-radius:3px; color:#fff; background:transparent; font-size:20px; line-height:1; }
.studio-settings-button:hover { border-color:#fff; background:#fff; color:#111; }
.studio-settings-button[hidden] { display:none!important; }
.studio-settings-backdrop { z-index:125; background:rgba(0,0,0,.84); }
.studio-person-backdrop { z-index:130; background:rgba(0,0,0,.76); }
#reviewsConfirmModal { z-index:150; }
.studio-settings-backdrop [hidden],.studio-person-backdrop [hidden] { display:none!important; }
.studio-settings-panel,.studio-person-panel { width:min(1100px,100%); max-height:94dvh; overflow:auto; border:1px solid #292929; border-radius:16px; color:#f4f4f4; background:#0c0c0c; box-shadow:0 28px 90px rgba(0,0,0,.55); }
.studio-settings-top { display:flex; align-items:center; justify-content:space-between; padding:18px 26px; border-bottom:1px solid #242424; }
.studio-settings-top>div { display:grid; gap:4px; }
.studio-settings-top strong { font:600 17px 'Space Grotesk',sans-serif; }
.studio-settings-kicker { color:var(--brand-orange); font:600 9px 'DM Mono',monospace; letter-spacing:1.4px; }
.studio-settings-close,.studio-person-header button { width:36px; height:36px; border:1px solid #343434; border-radius:9px; color:#aaa; background:#171717; font-size:22px; }
.studio-settings-tabs { display:flex; padding:14px 26px; border-bottom:1px solid #252525; }
.studio-settings-tabs span { padding:11px 15px; border:1px solid rgba(var(--brand-orange-rgb),.4); border-radius:8px; color:var(--brand-orange); background:rgba(var(--brand-orange-rgb),.08); font:600 10px 'DM Mono',monospace; text-transform:uppercase; }
.studio-settings-content { padding:27px 26px 30px; }
.studio-settings-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:24px; }
.studio-settings-heading h2 { margin:7px 0 5px; font:700 italic 29px 'Space Grotesk',sans-serif; text-transform:uppercase; }
.studio-settings-heading p { margin:0; color:#969696; font-size:12px; }
.studio-settings-current { padding:10px 14px; border:1px solid rgba(var(--brand-orange-rgb),.28); border-radius:12px; color:var(--brand-orange); background:rgba(var(--brand-orange-rgb),.05); font:600 8px 'DM Mono',monospace; letter-spacing:1px; }
.studio-settings-current strong { color:#fff; font:600 11px 'Space Grotesk',sans-serif; }
.studio-people-panel { padding:22px 24px 14px; border:1px solid #282828; border-radius:18px; background:#101010; }
.studio-people-title,.studio-people-title>div,.studio-people-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.studio-people-title>div { justify-content:flex-start; }
.studio-people-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(var(--brand-orange-rgb),.35); border-radius:11px; color:var(--brand-orange); background:rgba(var(--brand-orange-rgb),.08); font-size:20px; }
.studio-people-title h3 { margin:4px 0 0; font:700 italic 19px 'Space Grotesk',sans-serif; text-transform:uppercase; }
.studio-add-person,.studio-person-save { min-height:39px; padding:9px 15px; border:1px solid var(--brand-orange); border-radius:8px; color:#fff; background:var(--brand-orange); font:600 10px 'DM Mono',monospace; text-transform:uppercase; }
.studio-add-person:hover,.studio-person-save:hover { box-shadow:0 0 0 3px rgba(var(--brand-orange-rgb),.2); }
.studio-people-toolbar { justify-content:flex-start; margin:22px 0 14px; }
.reviews-admin-search { width:min(290px,100%); padding:11px 13px; border:1px solid #303030; border-radius:24px; color:#fff; background:#1b1b1b; font-size:12px; }
.reviews-admin-search:focus { outline:1px solid var(--brand-orange); }
.reviews-staff-count { color:#999; font:10px 'DM Mono',monospace; }
.studio-people-columns,.reviews-staff-row { display:grid; grid-template-columns:minmax(160px,2fr) minmax(120px,1fr) minmax(140px,1fr) minmax(95px,.7fr) 18px; align-items:center; gap:12px; }
.studio-people-columns { padding:10px 14px; border-top:1px solid #2b2b2b; border-bottom:1px solid #2b2b2b; color:#777; font:600 9px 'DM Mono',monospace; letter-spacing:.6px; }
.reviews-staff-list { max-height:47dvh; overflow:auto; }
.reviews-staff-list>p { padding:18px 14px; color:#999; font-size:12px; }
.reviews-staff-row { width:100%; min-height:53px; padding:11px 14px; border:0; border-bottom:1px solid #292929; color:#ddd; background:transparent; font-size:11px; text-align:left; }
.reviews-staff-row:not(.is-owner):hover,.reviews-staff-row:not(.is-owner):focus-visible { background:#1a1a1a; }
.reviews-staff-row.is-owner { cursor:default; }
.reviews-staff-person { display:grid; gap:3px; min-width:0; }
.reviews-staff-person strong,.reviews-staff-person small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reviews-staff-person strong { color:#fff; font-size:12px; }
.reviews-staff-person small { color:#8c8c8c; font-size:10px; }
.reviews-staff-state { color:#28c9a0; font:600 10px 'DM Mono',monospace; }
.reviews-staff-state.is-pending { color:var(--brand-orange); }
.reviews-staff-state.is-disabled { color:#999; }
.studio-settings-status,.studio-person-body>p[role="status"] { min-height:17px; margin:12px 0 0; color:var(--brand-orange); font-size:11px; }
.studio-person-panel { width:min(760px,100%); }
.studio-person-header { display:flex; align-items:center; justify-content:space-between; padding:18px 28px; border-bottom:1px solid #282828; }
.studio-person-body { padding:24px 28px 12px; }
.studio-person-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:22px; }
.studio-person-heading h2 { margin:0 0 4px; font:700 22px 'Space Grotesk',sans-serif; }
.studio-person-heading p { margin:0; color:#999; font-size:12px; }
.studio-person-heading>span { color:#29cba3; font:600 10px 'DM Mono',monospace; white-space:nowrap; }
.studio-person-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.studio-person-fields label,.studio-person-apps>label { display:grid; gap:8px; color:#777; font:600 9px 'DM Mono',monospace; letter-spacing:.6px; }
.studio-person-fields input,.studio-person-apps select { width:100%; min-height:43px; padding:10px 12px; border:1px solid #333; border-radius:9px; color:#fff; background:#050505; font:12px 'DM Sans',sans-serif; }
.studio-person-fields input[readonly] { color:#aaa; }
.studio-person-toggle { display:flex; align-items:center; gap:10px; width:fit-content; margin:17px 0 20px; padding:11px 13px; border:1px solid #333; border-radius:9px; color:#ddd; font-size:12px; }
.studio-person-toggle input { accent-color:var(--brand-orange); }
.studio-person-apps { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; padding-top:19px; border-top:1px solid #282828; }
.studio-person-apps h3,.studio-person-apps>p,.studio-person-apps>div { grid-column:1/-1; }
.studio-person-apps h3,.studio-person-apps h4 { margin:0; color:#f2f2f2; font:600 10px 'DM Mono',monospace; letter-spacing:.8px; }
.studio-person-apps>p,#reviewsPersonShares>p { margin:0; color:#999; font-size:11px; line-height:1.5; }
#reviewsPersonShares,#reviewsCustomPermissions { padding:13px; border:1px solid #303030; border-radius:9px; background:#141414; }
#reviewsPersonShareList { display:grid; gap:7px; max-height:180px; overflow:auto; margin-top:10px; }
#reviewsPersonShareList label,#reviewsCustomPermissions label { display:flex; align-items:center; gap:8px; color:#ddd; font-size:11px; }
#reviewsPersonShareList input,#reviewsCustomPermissions input { accent-color:var(--brand-orange); }
.studio-person-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:17px 28px 24px; border-top:1px solid #282828; }
.studio-person-remove { margin-right:auto; border:0; color:#f36f6f; background:transparent; font-size:11px; }
.studio-person-cancel { min-height:39px; padding:9px 16px; border:1px solid #333; border-radius:8px; color:#ddd; background:#161616; font-size:11px; }
@media (max-width:700px) { .studio-settings-content { padding:20px 14px; }.studio-people-panel { padding:16px 12px; }.studio-people-columns,.reviews-staff-row { grid-template-columns:minmax(130px,1.4fr) minmax(88px,.8fr) minmax(67px,.6fr) 12px; }.studio-people-columns span:nth-child(3),.reviews-staff-row>span:nth-child(3) { display:none; }.studio-person-fields,.studio-person-apps { grid-template-columns:1fr; }.studio-person-body,.studio-person-header,.studio-person-actions { padding-left:18px; padding-right:18px; }.studio-settings-current { display:none; } }
.reviews-stage.is-zooming { cursor:zoom-in; }
.reviews-stage.is-zooming .reviews-media-surface,.reviews-stage.is-zooming .reviews-media-surface canvas { cursor:zoom-in; }
.reviews-stage.is-panning,.reviews-stage.is-panning .reviews-media-surface,.reviews-stage.is-panning .reviews-media-surface canvas { cursor:grabbing; }
.reviews-view button { cursor:pointer; }
.reviews-library,.reviews-comments { min-width:0; min-height:0; display:flex; flex-direction:column; background:#191919; }
.reviews-library { border-right:1px solid #393939; }
.reviews-comments { border-left:1px solid #393939; }
.reviews-library-head,.reviews-comments-head { padding:20px 20px 12px; }
.reviews-view .eyebrow { color:#888; font:500 9px 'DM Mono',monospace; letter-spacing:1.5px; }
.reviews-library-head h1 { display:flex; justify-content:space-between; align-items:center; margin:8px 0 0; color:#fff; font:600 29px 'Space Grotesk',sans-serif; letter-spacing:-1px; }
.reviews-library-head p,.reviews-comments-head p { margin:0; color:#999; font-size:11px; line-height:1.5; }
.reviews-count,.reviews-comments-head h2 span { color:#888; font:500 11px 'DM Mono',monospace; }
.reviews-upload { display:flex; align-items:center; gap:10px; margin:6px 16px 10px; padding:10px 12px; border:1px solid #666; background:#252525; color:#fff; text-align:left; }
.reviews-upload:hover { border-color:#fff; background:#333; }
.reviews-upload>span { font-size:20px; line-height:1; }
.reviews-upload strong { font-size:11px; }
.reviews-link-form { display:grid; gap:8px; margin:2px 16px 10px; padding:13px; border:1px solid #555; background:#252525; }
.reviews-link-form label { color:#aaa; font:9px 'DM Mono',monospace; letter-spacing:.4px; }
.reviews-link-form input,.reviews-link-form select { min-width:0; width:100%; padding:8px; border:1px solid #666; border-radius:0; background:#141414; color:#fff; font:11px 'Space Grotesk',sans-serif; }
.reviews-link-form p { margin:2px 0; color:#aaa; font-size:10px; line-height:1.4; }
.reviews-link-form p.is-error { color:#ff9e8e; }
.reviews-link-actions { display:flex; gap:7px; }
.reviews-link-actions button { flex:1; padding:8px; border:1px solid #666; background:#222; color:#fff; font:10px 'DM Mono',monospace; }
.reviews-link-actions button[type=submit] { border-color:#fff; background:#fff; color:#111; }
.reviews-list-heading { display:flex; align-items:center; justify-content:flex-end; margin:0 20px 6px; padding-top:8px; border-top:1px solid #393939; }
.reviews-list-heading button { padding:4px 0; border:0; background:none; color:#eee; font:9px 'DM Mono',monospace; white-space:nowrap; }
.reviews-list-heading button:hover { text-decoration:underline; }
.reviews-section-form { display:flex; gap:4px; margin:0 12px 10px; }
.reviews-section-form input { min-width:0; flex:1; padding:8px; border:1px solid #666; background:#101010; color:#fff; font:11px 'Space Grotesk',sans-serif; }
.reviews-section-form button { padding:7px; border:1px solid #666; background:#292929; color:#fff; font:10px 'DM Mono',monospace; }
.reviews-list { min-height:0; flex:1 1 auto; overflow:auto; padding:0 16px; }
.reviews-section { margin-bottom:12px; }
.reviews-section-heading { display:flex; align-items:center; gap:7px; padding:8px 0; border-bottom:1px solid #444; }
.reviews-section-heading strong { min-width:0; flex:1; overflow:hidden; color:#ddd; font:600 10px 'Space Grotesk',sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.reviews-section-heading span { color:#888; font:9px 'DM Mono',monospace; }
.reviews-section-heading button { padding:0 2px; border:0; background:none; color:#888; font:12px 'DM Mono',monospace; }
.reviews-section-heading button:hover { color:#fff; }
.reviews-section-files { min-height:40px; padding:5px 0; }
.reviews-section-files.is-drop-target { outline:1px dashed #999; background:#292929; }
.reviews-section-empty { margin:7px 0; color:#666; font:10px 'DM Mono',monospace; }
.reviews-list-empty { margin:12px 10px; color:#777; font-size:11px; }
.reviews-file { display:flex; gap:10px; align-items:center; width:100%; margin-bottom:2px; padding:8px 4px; border:1px solid transparent; background:transparent; color:#eee; text-align:left; cursor:grab!important; }
.reviews-file:hover { background:#292929; }
.reviews-file.is-active { border-color:#777; background:#303030; }
.reviews-file.is-dragging { opacity:.45; }
.reviews-file-icon { flex:0 0 35px; display:grid; place-items:center; height:35px; border:1px solid #666; color:#ddd; font-size:15px; }
.reviews-file-copy { min-width:0; display:grid; gap:4px; }
.reviews-file-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:600; }
.reviews-file-copy small { color:#999; font:9px 'DM Mono',monospace; }
.reviews-main { min-width:0; min-height:0; display:flex; flex-direction:column; background:#111; }
.reviews-main-head { flex:0 0 auto; display:flex; align-items:center; gap:12px; min-height:54px; padding:8px 16px; border-bottom:1px solid #303030; }
.reviews-main-head h2 { flex:1; min-width:0; margin:0; overflow:hidden; color:#fff; font:600 16px 'Space Grotesk',sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.reviews-main-actions { flex:none; display:flex; align-items:center; gap:6px; }
.reviews-main-actions .reviews-zoom-value { min-width:36px; margin-right:5px; color:#aaa; text-align:right; font:10px 'DM Mono',monospace; }
.reviews-main-actions button { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #4a4a4a; border-radius:5px; background:#1d1d1d; color:#ddd; cursor:pointer; }
.reviews-main-actions button:hover,.reviews-main-actions button:focus-visible { border-color:#fff; background:#303030; color:#fff; }
.reviews-main-actions .reviews-remove-media:hover,.reviews-main-actions .reviews-remove-media:focus-visible { border-color:#e46b6b; color:#ffb4b4; }
.reviews-main-actions svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.reviews-stage { position:relative; min-height:0; flex:1 1 auto; display:grid; place-items:center; overflow:hidden; padding:24px; background:#101010; }
.reviews-empty { display:grid; justify-items:center; max-width:330px; color:#aaa; text-align:center; }
.reviews-empty>span { margin-bottom:16px; color:#666; font-size:60px; }
.reviews-empty strong { color:#f5f5f5; font:600 19px 'Space Grotesk',sans-serif; }
.reviews-empty p { font-size:12px; line-height:1.5; }
.reviews-empty-action { margin-top:13px; padding:10px 14px; border:1px solid #777; background:#222; color:#fff; font:500 10px 'DM Mono',monospace; }
.reviews-media-error { position:absolute; right:24px; bottom:24px; left:24px; z-index:2; max-width:500px; margin:auto; padding:13px 16px; border:1px solid #777; background:#242424; color:#eee; font-size:11px; line-height:1.5; text-align:center; }
.reviews-media-error a { display:block; margin-top:7px; color:#fff; }
.reviews-media-surface { position:relative; display:grid; place-items:center; width:min(100%, calc(65dvh * var(--review-aspect, 1.7778))); max-width:100%; max-height:100%; aspect-ratio:var(--review-aspect, 16/9); background:#000; box-shadow:0 14px 38px rgba(0,0,0,.55); }
.reviews-model { width:100%; height:100%; overflow:hidden; }
.reviews-model canvas { display:block; width:100%; height:100%; }
.reviews-media-surface img,.reviews-media-surface video { width:100%; height:100%; display:block; object-fit:contain; }
.reviews-media-surface canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.reviews-media-surface canvas.is-drawing { pointer-events:auto; cursor:crosshair; touch-action:none; }
.reviews-timeline { display:flex; align-items:center; gap:13px; min-height:63px; padding:12px 22px; border-top:1px solid #333; color:#bbb; font:10px 'DM Mono',monospace; }
.reviews-play { flex:0 0 33px; width:33px; height:33px; border:1px solid #777; background:#222; color:#fff; }
.reviews-play:hover { background:#444; }
.reviews-seek-wrap { position:relative; flex:1; display:flex; align-items:center; min-width:0; }
.reviews-seek-wrap input { width:100%; accent-color:#fff; }
.reviews-markers { position:absolute; inset:0 7px; pointer-events:none; }
.reviews-marker { position:absolute; top:50%; width:9px; height:9px; padding:0; border:1px solid #111; border-radius:50%; background:var(--brand-orange); pointer-events:auto; transform:translate(-50%,-50%); }
.reviews-marker.is-resolved { background:#999; }
.reviews-range-marker { position:absolute; top:50%; width:2px; height:22px; background:#fff; pointer-events:none; transform:translateY(-50%); }
.reviews-range-marker.is-in { background:#8fd8ac; }
.reviews-range-marker.is-out { background:var(--brand-orange); }
.reviews-playback-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:39px; padding:6px 20px; border-top:1px solid #333; background:#191919; color:#aaa; font:9px 'DM Mono',monospace; }
.reviews-playback-tools button { padding:6px 8px; border:1px solid #555; background:#252525; color:#ddd; font:9px 'DM Mono',monospace; }
.reviews-playback-tools button:hover { border-color:#fff; color:#fff; }
.reviews-playback-tools button span { color:var(--brand-orange); }
.reviews-playback-tools #reviewsFrameNumber { margin-left:auto; color:#fff; }
.reviews-playback-tools label { display:flex; align-items:center; gap:4px; }
.reviews-playback-tools select,.reviews-playback-tools input { width:60px; padding:5px; border:1px solid #555; background:#111; color:#fff; font:10px 'DM Mono',monospace; }
.reviews-playback-tools input { width:70px; }
.reviews-playback-tools #reviewsFps { padding:5px 6px; border:1px solid #555; border-radius:3px; color:#fff; font:10px 'DM Mono',monospace; }
.reviews-playback-tools #reviewsFps[data-status="unavailable"] { color:var(--brand-orange); }
.reviews-playback-tools button:disabled,.reviews-playback-tools input:disabled { opacity:.4; cursor:default; }
.reviews-shortcuts { position:absolute; right:10px; bottom:7px; }
.reviews-shortcuts #reviewsShortcutsBtn { display:grid; place-items:center; width:29px; height:27px; padding:3px; border:1px solid #555; border-radius:4px; background:#252525; color:#ddd; }
.reviews-shortcuts #reviewsShortcutsBtn:hover { border-color:#fff; color:#fff; }
.reviews-shortcuts #reviewsShortcutsBtn[aria-expanded="true"] { border-color:#fff; color:#fff; }
.reviews-shortcuts #reviewsShortcutsBtn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.reviews-shortcuts-menu { position:absolute; right:0; bottom:calc(100% + 8px); z-index:12; display:grid; gap:2px; width:min(270px,calc(100vw - 24px)); max-height:min(360px,70vh); overflow:auto; padding:11px; border:1px solid #666; border-radius:6px; background:#242424; box-shadow:0 14px 36px #0009; color:#eee; }
.reviews-shortcuts-menu[hidden] { display:none; }
.reviews-shortcuts-menu>strong { padding:4px 5px 8px; color:#fff; font:600 11px 'Space Grotesk',sans-serif; }
.reviews-shortcuts-menu>button,.reviews-shortcuts-menu>div { display:flex; align-items:center; gap:10px; width:100%; min-height:29px; padding:5px; border:0; background:none; color:#ddd; text-align:left; font:10px 'Space Grotesk',sans-serif; }
.reviews-shortcuts-menu>button:hover,.reviews-shortcuts-menu>button:focus-visible { background:#383838; }
.reviews-shortcuts-menu kbd { flex:0 0 72px; padding:4px 5px; border:1px solid #555; border-radius:3px; color:#fff; text-align:center; font:9px 'DM Mono',monospace; }
.reviews-shortcuts-menu>div:first-of-type { margin-top:4px; border-top:1px solid #444; padding-top:9px; }
.reviews-hud-restore { position:absolute; right:15px; bottom:15px; z-index:5; padding:8px 11px; border:1px solid #777; background:#171717; color:#fff; font:10px 'DM Mono',monospace; }
body.reviews-hud-hidden .topbar,body.reviews-hud-hidden .reviews-library,body.reviews-hud-hidden .reviews-comments,body.reviews-hud-hidden .reviews-main-head,body.reviews-hud-hidden .reviews-timeline,body.reviews-hud-hidden .reviews-playback-tools,body.reviews-hud-hidden .reviews-annotation-bar { display:none!important; }
body.reviews-hud-hidden .reviews-view { grid-template-columns:minmax(0,1fr); height:100dvh; min-height:0; }
body.reviews-hud-hidden .reviews-main { min-height:0; }
.reviews-annotation-bar { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:4px; min-height:48px; padding:7px 47px 7px 10px; border-top:1px solid #333; background:#191919; }
.reviews-annotation-bar.is-readonly > :not(.reviews-shortcuts) { display:none!important; }
.reviews-tool { min-height:30px; padding:6px 7px; border:1px solid #555; border-radius:4px; background:#252525; color:#ddd; font:10px 'DM Mono',monospace; cursor:pointer; }
.reviews-tool:hover,.reviews-tool.is-active { border-color:#fff; background:#fff; color:#111; }
.reviews-tool:focus-visible,.reviews-tool-menu button:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.reviews-tool-picker { position:relative; }
.reviews-tool-picker[data-tool-group="brush"] { margin-left:5px; padding-left:10px; border-left:1px solid #444; }
.reviews-tool-picker-button { display:flex; align-items:center; justify-content:space-between; gap:7px; min-width:95px; }
.reviews-tool-picker-button>span:last-child { font-size:13px; line-height:1; }
.reviews-tool-menu { position:absolute; right:0; bottom:calc(100% + 8px); z-index:8; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; width:min(320px,calc(100vw - 24px)); padding:9px; border:1px solid #606060; border-radius:7px; background:#242424; box-shadow:0 12px 28px rgba(0,0,0,.55); }
.reviews-shape-menu { grid-template-columns:repeat(2,minmax(0,1fr)); width:min(245px,calc(100vw - 24px)); }
.reviews-tool-menu[hidden] { display:none; }
.reviews-tool-menu button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:59px; padding:6px 3px; border:1px solid #4a4a4a; border-radius:4px; background:#303030; color:#eee; font:10px 'DM Mono',monospace; cursor:pointer; }
.reviews-tool-menu button:hover,.reviews-tool-menu button[aria-pressed="true"] { border-color:#fff; background:#eee; color:#111; }
.reviews-tool-menu button>span:first-child { font:24px/1 'Space Grotesk',sans-serif; }
.reviews-tool-menu button .reviews-tool-name { font:10px 'DM Mono',monospace; }
.reviews-tool-menu button small { font:8px 'DM Mono',monospace; opacity:.7; }
.reviews-color-label { display:flex; align-items:center; gap:5px; color:#aaa; font:10px 'DM Mono',monospace; }
.reviews-color-label input { width:24px; height:24px; padding:0; border:0; background:none; cursor:pointer; }
.reviews-annotation-bar>span { position:absolute; top:0; left:0; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.reviews-comments-head { border-bottom:1px solid #393939; }
.reviews-comments-head h2 { display:flex; align-items:center; justify-content:space-between; margin:8px 0 6px; color:#fff; font:600 20px 'Space Grotesk',sans-serif; }
.reviews-comment-list { min-height:0; flex:1 1 auto; overflow:auto; padding:14px; }
.reviews-comment-empty { padding:14px 8px; color:#888; font-size:11px; line-height:1.5; }
.reviews-comment { margin-bottom:9px; border:1px solid #3a3a3a; background:#242424; }
.reviews-comment.is-selected { border-color:#fff; }
.reviews-comment.is-resolved { opacity:.6; }
.reviews-comment-open { display:grid; gap:8px; width:100%; padding:12px; border:0; background:none; color:#fff; text-align:left; }
.reviews-comment-meta { color:var(--brand-orange); font:500 9px 'DM Mono',monospace; }
.reviews-comment-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.45; }
.reviews-comment-actions { display:flex; gap:15px; padding:0 12px 10px; }
.reviews-comment-actions button { padding:0; border:0; background:none; color:#999; font:9px 'DM Mono',monospace; }
.reviews-comment-actions button:hover { color:#fff; }
.reviews-comment-edit { display:grid; gap:8px; padding:0 12px 12px; }
.reviews-comment-edit textarea { width:100%; min-height:76px; resize:vertical; padding:9px; border:1px solid #777; background:#161616; color:#fff; font:12px 'Space Grotesk',sans-serif; }
.reviews-comment-edit textarea:focus { border-color:#fff; outline:none; }
.reviews-comment-edit-actions { display:flex; justify-content:flex-end; gap:8px; }
.reviews-comment-edit-actions button { padding:7px 10px; border:1px solid #666; background:#292929; color:#eee; font:10px 'DM Mono',monospace; cursor:pointer; }
.reviews-comment-edit-actions button[type="submit"] { border-color:#fff; background:#fff; color:#111; }
.reviews-comment-edit-actions button:disabled { opacity:.5; cursor:wait; }
.reviews-comment-form { flex:0 0 auto; display:grid; gap:10px; padding:15px; border-top:1px solid #444; background:#202020; }
.reviews-comment-form label { display:flex; justify-content:space-between; color:#aaa; font:500 9px 'DM Mono',monospace; letter-spacing:.5px; }
.reviews-comment-form textarea { width:100%; min-height:84px; resize:vertical; padding:10px; border:1px solid #555; background:#151515; color:#fff; font-size:12px; }
.reviews-comment-form textarea:focus { border-color:#fff; outline:none; }
.reviews-comment-form>button { display:flex; justify-content:space-between; padding:10px 12px; border:1px solid #fff; background:#fff; color:#111; font:600 11px 'Space Grotesk',sans-serif; }
.reviews-comment-form>button:hover { background:#ddd; }
.reviews-comment-form>small { color:#858585; font-size:10px; }
.reviews-guest-prompt { padding:17px; border-top:1px solid #444; background:#222; }
.reviews-guest-prompt strong { color:#fff; font-size:13px; }
.reviews-guest-prompt p { color:#aaa; font-size:11px; line-height:1.5; }
.reviews-guest-prompt button { width:100%; padding:10px; border:1px solid #fff; background:#fff; color:#111; font:600 11px 'Space Grotesk',sans-serif; }
.reviews-guest-prompt form { display:grid; gap:8px; margin-top:13px; }
.reviews-guest-prompt label { color:#aaa; font:9px 'DM Mono',monospace; }
.reviews-guest-prompt input { width:100%; padding:10px; border:1px solid #777; background:#111; color:#fff; font:12px 'Space Grotesk',sans-serif; }
.reviews-guest-prompt small { color:#ff9e8e; font-size:10px; }
.reviews-guest-divider { margin:12px 0; color:#888; font:10px 'DM Mono',monospace; text-align:center; }
.reviews-guest-prompt .reviews-guest-google { border-color:#777; background:#161616; color:#fff; }
.reviews-guest-prompt .reviews-guest-google:hover { border-color:#fff; background:#303030; }
.reviews-comment-identity { flex:0 0 auto; margin:0; padding:9px 15px; border-top:1px solid #333; color:#bbb; font-size:11px; }
.reviews-comment-identity strong { color:#fff; }
body.reviews-open { overflow:hidden; }
@media (max-width:1180px) { .reviews-view { grid-template-columns:210px minmax(0,1fr) 290px; } .topbar { gap:12px; } .studio-nav-link { padding:0 9px; } }
@media (max-width:900px) { .reviews-view { grid-template-columns:185px minmax(0,1fr); } body.public-review .reviews-view { grid-template-columns:185px minmax(0,1fr); height:auto; } body.legacy-public-review .reviews-view { grid-template-columns:minmax(0,1fr); } .reviews-comments { grid-column:1/-1; max-height:350px; border-top:1px solid #444; border-left:0; } .reviews-view { height:auto; min-height:calc(100dvh - 54px); } .reviews-main { min-height:580px; } body.reviews-open { overflow:auto; } .topbar .breadcrumbs { display:none; } }
@media (max-width:640px) { .studio-nav { order:3; width:100%; height:36px; } .studio-nav-link { flex:1; } .reviews-view { display:flex; flex-direction:column; } .reviews-library { max-height:330px; } .reviews-library.is-linking { max-height:none; } .reviews-library.is-linking .reviews-list { max-height:100px; } .reviews-library-head { padding:16px; } .reviews-library-head h1 { margin:2px 0; font-size:22px; } .reviews-list { min-height:60px; } .reviews-main { min-height:520px; } .reviews-main-head { min-height:50px; padding:7px 12px; } .reviews-main-head h2 { font-size:14px; } .reviews-stage { min-height:280px; padding:12px; } .reviews-annotation-bar { gap:5px; padding:10px; } .reviews-comments { max-height:none; min-height:400px; } }
@media (max-width:640px) { .reviews-home { padding:28px 18px 45px; } .reviews-home-top { align-items:stretch; flex-direction:column; margin-bottom:32px; } .reviews-home-create { width:100%; } .reviews-home-context { flex-wrap:wrap; } #reviewsProjectMeta { flex-basis:100%; order:3; } #reviewsCreateVersion { flex:1; } }
@media (max-width:800px) { .reviews-home-controls { order:3; justify-content:flex-start; width:100%; margin-left:0; } .is-list-view .reviews-home-card-content { grid-template-columns:minmax(0,1fr); gap:4px; } .is-list-view .reviews-home-card-open strong { font-size:16px; } }
@media (max-width:540px) { .reviews-home-controls label { width:100%; justify-content:space-between; } .reviews-home-controls select { width:70%; max-width:none; } .is-list-view .reviews-home-card { flex-wrap:wrap; } .is-list-view .reviews-home-card-cover { flex-basis:76px; min-height:78px; } .is-list-view .reviews-home-card-actions { width:100%; border-top:1px solid #ddd; border-left:0; } .is-list-view .reviews-home-card-actions button { flex:1; } }
