:root{--ink:#000;--muted:#747474;--paper:#fff;--line:#d9d9d9;--yellow:#ffe600;--dark:#000}
*{box-sizing:border-box}
body{background:#fff;color:#000;font-family:"Century Gothic",Futura,"Avenir Next",Arial,sans-serif;letter-spacing:0}
button,input,select,textarea{font-family:inherit;border-radius:0}
button{border:1px solid #000;background:#fff;color:#000;font-weight:600}
button:hover{background:#000;color:#fff}
button.primary{background:#000;color:#fff;border-color:#000}
button.primary:hover{background:var(--yellow);color:#000;border-color:var(--yellow)}
button.accent{background:var(--yellow);border-color:var(--yellow);color:#000}
button.accent:hover{background:#000;color:#fff;border-color:#000}
button.quiet{background:transparent;color:inherit;border-color:transparent}
button.danger{border-color:#c00000;color:#c00000;background:#fff}
button.danger:hover{background:#c00000;color:#fff}
input,select,textarea{background:#fff;border:1px solid #000;color:#000}
.eyebrow{font-size:9px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.brand{font-size:19px;letter-spacing:.01em;font-weight:700;text-transform:none}
.brand small{font-size:8px;letter-spacing:.12em;color:inherit;text-transform:uppercase}
.loading{background:#000;color:#fff;min-height:100vh}
.loading span{color:var(--yellow)}
.auth-art{background:#000;color:#fff}
.auth-art .brand{color:#fff}
.auth-art .eyebrow{color:var(--yellow)}
.auth-art h1{font-weight:400;letter-spacing:-.03em}
.orbit{border-color:#555;box-shadow:none}
.orbit:after{color:var(--yellow)}
.auth-form{background:#fff}
.layout{grid-template-columns:220px 1fr;background:#fff}
.sidebar{background:#000;color:#fff;padding:28px 18px;border-right:1px solid #000}
.sidebar .brand{padding:0 10px 28px;color:#fff}
.sidebar .brand small{color:var(--yellow)}
.sidebar .eyebrow{margin:10px;color:#888}
.projects{gap:0}
.project-nav{border:0;border-bottom:1px solid #252525;border-radius:0;padding:13px 10px;color:#fff;background:#000;font-weight:400}
.project-nav:hover{background:#111;color:#fff}
.project-nav.active{background:#000;color:var(--yellow);box-shadow:inset 4px 0 0 var(--yellow)}
.project-nav span{color:#888}
.project-nav.active span{color:#aaa}
.sidebar .new{border:1px solid #555;border-radius:0;color:#fff;background:#000}
.sidebar .new:hover{border-color:var(--yellow);color:var(--yellow)}
.sidebar-foot{color:#777}
.sidebar-foot button{color:#fff}
.main{background:#fff}
.topbar{height:62px;padding:0 32px;background:#000;color:#fff;border:0}
.topbar .eyebrow{color:#fff}
.topbar .badge{border-color:#444;color:#fff;background:#000}
.topbar .quiet{color:#fff}
.content{padding:34px 38px;background:#fff}
.heading{align-items:flex-end;border-bottom:1px solid #000;padding-bottom:22px;margin-bottom:18px}
.heading .eyebrow{color:#555}
.heading h1{font-size:46px;line-height:1;letter-spacing:-.035em;margin:7px 0 0;font-weight:400;text-transform:none}
.heading p{display:none}
.actions{gap:8px}
.stages{display:flex;gap:0;border:0;border-radius:0;background:#000;margin:0 0 28px;overflow:hidden}
.stage{flex:1;padding:14px 16px;border:0;background:#000;color:#fff;gap:8px;text-transform:none;font-size:12px;letter-spacing:0;justify-content:flex-start}
.stage+.stage{border-left:1px solid #2c2c2c}
.stage:hover{background:#111;color:#fff}
.stage.active{background:#000;color:var(--yellow);box-shadow:inset 0 -4px 0 var(--yellow)}
.stage b{border:0;border-radius:0;width:auto;height:auto;font:11px/1 inherit;color:inherit}
.stage small{display:none}
.stage-top{margin-bottom:8px;border:0;padding-bottom:0}
.stage-top h2{font-size:21px;font-weight:400;text-transform:none;letter-spacing:-.015em;margin:0}
.stage-top p{display:none}
.badge{border:1px solid #000;border-radius:0;background:#fff;color:#000;text-transform:none;font-size:10px;letter-spacing:0;padding:5px 9px}
.badge.live{background:var(--yellow);color:#000;border-color:var(--yellow)}
.toolbar{margin:18px 0 16px;border-top:1px solid #ddd;padding-top:14px}
.filters button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:5px 0;margin-right:18px;background:transparent;color:#555;font-weight:400}
.filters button:hover{background:transparent;color:#000;border-color:#000}
.filters .selected{background:transparent;color:#000;border-color:var(--yellow)}
.toolbar select{border:0;border-bottom:1px solid #000;border-radius:0;background:#fff;color:#000}
.grid{gap:14px}
.card{background:#fff;border:0;border-radius:0}
.thumb{border-radius:0;background:#eee}
.thumb .number{top:8px;left:8px;background:#000;color:#fff;border-radius:0}
.card-meta{padding:9px 0 15px;border-bottom:1px solid #d8d8d8}
.filename{font-size:12px;text-transform:none;letter-spacing:0;font-weight:600}
.summary{font-size:10px;color:#777}
.heart,.star{border:0}
.heart.on{color:#d40000}
.star.on{color:#000}
.empty{border:1px solid #000;border-radius:0;background:#fff;min-height:260px}
.empty .symbol{color:var(--yellow);text-shadow:0 0 0 #000}
.empty p{color:#555}
.bottom{border:0;margin-top:12px;padding-top:0}
.bottom>span{display:none}
.bottom:has(.accent){justify-content:flex-end}
footer{display:none}
dialog{border:1px solid #000;border-radius:0;background:#fff;color:#000}
dialog::backdrop{background:#000c;backdrop-filter:blur(2px)}
.dialog-head{border-bottom:1px solid #000;padding-bottom:12px}
.viewer-media{background:#000;position:relative}
.download{border-radius:0;background:var(--yellow);color:#000}
.note{color:#666}
#toast{border-radius:0;background:#000;color:#fff}
.progress{border-radius:0;border-color:#000}
.rotate-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 14px;border-bottom:1px solid #ddd}
.rotate-bar span{margin-right:auto;font-size:12px}
.rotate-select{display:flex;align-items:center;gap:7px;margin:0;padding:8px 0;font-size:11px}
.rotate-select input{width:auto}
.client-progress{display:grid;grid-template-columns:auto minmax(120px,220px);align-items:center;gap:18px;margin:12px 0 4px;padding:12px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.client-progress-copy{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.client-progress-copy strong{font-size:18px;font-weight:600}.client-progress-copy span{font-size:11px;color:#666}
.client-progress-track{height:4px;background:#eee;overflow:hidden}.client-progress-track i{display:block;height:100%;background:var(--yellow);transition:width .2s ease}
.reviewed-tick{position:absolute;right:8px;top:8px;width:24px;height:24px;display:grid;place-items:center;background:var(--yellow);color:#000;font-weight:800;font-size:13px;z-index:2}
.card.is-reviewed .thumb{outline:2px solid var(--yellow);outline-offset:-2px}
.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;padding:0;border:0;background:#000b;color:#fff;font-size:24px}
.viewer-nav:hover{background:var(--yellow);color:#000}.viewer-prev{left:8px}.viewer-next{right:8px}
.viewer-rotate-controls{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:9;display:flex;gap:6px;background:#000d;padding:5px}.viewer-rotate-controls button{border:1px solid #ffffff66;background:#000;color:#fff;padding:7px 10px;font-size:11px;min-width:92px}.viewer-rotate-controls button:hover{background:var(--yellow);color:#000;border-color:var(--yellow)}.viewer-rotate-controls button:disabled{opacity:.45}
#submit.ready{background:var(--yellow);border-color:var(--yellow);color:#000}
.thumb.preview-error{display:grid;place-items:center;background:#f1f1f1;color:#666;min-height:120px}.thumb.preview-error img{display:none}.preview-error-copy{padding:14px;text-align:center;font-size:11px;line-height:1.35}.preview-error-copy strong{display:block;color:#000;margin-bottom:4px}
@media(max-width:720px){
  .heading h1{font-size:34px}.content{padding:20px 16px}.topbar{padding:0 16px}.stages{overflow:auto}.stage{min-width:105px}.bottom:has(.accent){justify-content:flex-end}.sidebar{border-right:0}.project-nav.active{box-shadow:inset 0 -3px 0 var(--yellow)}
  body.voyager-reviewer .layout{display:block;min-height:100vh}
  body.voyager-reviewer .sidebar{display:none}
  body.voyager-reviewer .topbar{height:50px;padding:0 14px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between}
  body.voyager-reviewer .topbar::before{content:'voyager ↗';font-weight:700;font-size:18px;letter-spacing:-.02em}
  body.voyager-reviewer .topbar .eyebrow,body.voyager-reviewer .topbar .badge{display:none}
  body.voyager-reviewer .topbar .quiet{font-size:12px;padding:7px 0}
  body.voyager-reviewer .content{padding:12px 14px 18px}
  body.voyager-reviewer .heading{padding:2px 0 10px;margin:0;border-bottom:0}
  body.voyager-reviewer .heading .eyebrow{display:none}
  body.voyager-reviewer .heading h1{font-size:22px;line-height:1.1;margin:0;font-weight:600;letter-spacing:-.02em}
  body.voyager-reviewer .stages{margin:0 0 8px;min-height:42px}
  body.voyager-reviewer .stage{min-width:auto;flex:1;padding:9px 10px;font-size:11px;justify-content:center;gap:0}
  body.voyager-reviewer .stage b{display:none}
  body.voyager-reviewer .stage span{white-space:nowrap}
  body.voyager-reviewer .stage-top{display:none}
  body.voyager-reviewer .category-nav{margin-top:0}
  body.voyager-reviewer .toolbar{margin-top:10px}
  .client-progress{grid-template-columns:1fr;margin-top:8px;gap:9px}.client-progress-copy{justify-content:space-between}.client-progress-track{width:100%}
  .category-nav{position:sticky;top:50px;z-index:6;background:#fff}
  .grid{gap:10px 12px}
  .card-meta{padding:7px 0 10px}.filename{font-size:11px;line-height:1.25}
  .card .rating{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:2px;margin-top:4px;min-height:36px}
  .card .heart{font-size:24px;min-width:32px;min-height:34px;padding:0;line-height:1}
  .card .stars{display:flex;flex:1;justify-content:flex-end;gap:0;min-width:0}
  .card .star{font-size:17px;min-width:24px;min-height:34px;padding:0;line-height:1}
  dialog.viewer{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;padding:0;overflow:hidden;background:#fff}
  dialog.viewer .dialog-head{height:52px;margin:0;padding:0 14px;background:#000;color:#fff;border:0;position:sticky;top:0;z-index:5}.dialog-head h2{font-size:13px;max-width:78vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-head .close{color:#fff;min-width:44px;min-height:44px}
  .viewer-layout{display:flex;flex-direction:column;height:calc(100dvh - 52px);gap:0;overflow:hidden}.viewer-media{flex:1 1 auto;min-height:0;background:#000}.viewer-media img,.viewer-media video{width:100%;height:100%;max-height:none;object-fit:contain}
  .viewer aside{flex:0 0 auto;max-height:44dvh;overflow:auto;padding:14px 16px 92px;background:#fff;border-top:1px solid #000}.viewer aside>.eyebrow{display:none}
  #review-form{margin:0}.viewer #review-form label{margin-top:10px}.viewer #review-form textarea{min-height:72px}.viewer #review-form .check{font-size:14px}
  .viewer .save-next{position:fixed;left:0;right:0;bottom:0;width:100%;height:64px;margin:0;z-index:7;background:var(--yellow);color:#000;border:0;font-size:15px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .viewer-nav{width:46px;height:54px;font-size:24px}.viewer-prev{left:0}.viewer-next{right:0}
  .viewer-rotate-controls{left:auto;right:8px;top:8px;bottom:auto;transform:none;padding:4px;gap:4px}.viewer-rotate-controls button{min-width:44px;min-height:40px;padding:6px 8px;font-size:16px}.viewer-rotate-controls button span{display:none}
  .bottom #submit{width:100%;min-height:46px;font-size:13px}.bottom{position:sticky;bottom:0;background:#fff;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:4}
}
