:root{--bg:#09050d;--bg-elevated:#0f0a14;--surface:#140b1c;--surface-raised:#1e1626;--surface-glass:#ffffff0f;--border-subtle:#ffffff1a;--border-strong:#b24bf359;--text-primary:#fff;--text-secondary:#c8bbd3;--text-muted:#8e819a;--text-disabled:#5e5268;--brand-violet:#b24bf3;--brand-purple:#8b5cf6;--brand-pink:#ff4fa3;--brand-orange:#ff5a1f;--brand-orange-soft:#ff8e53;--success:#36d399;--warning:#ff7a1a;--error:#ff4d6d;--info:#8ab4ff;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at 78% 10%, #8b5cf647, transparent 30%), radial-gradient(circle at 52% 78%, #ff5a1f29, transparent 22%), linear-gradient(180deg, #07040a 0%, var(--bg) 54%, #12081c 100%);min-height:100vh;color:var(--text-primary);margin:0;font-family:Hanken Grotesk,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.disabled{opacity:.5;pointer-events:none}button:disabled{cursor:not-allowed}.app{background:radial-gradient(circle at 82% 7%,#b24bf34d,#0000 28%),radial-gradient(circle at 43% 88%,#ff5a1f21,#0000 24%),#09050df0;border-left:1px solid #ffffff14;border-right:1px solid #ffffff14;flex-direction:column;width:min(430px,100%);min-height:100vh;margin:0 auto;display:flex}.screen{padding:20px 20px calc(92px + var(--safe-bottom));flex:1;align-content:start;gap:18px;display:grid}.screen.public{padding-bottom:32px}.screen.center{text-align:center;place-content:center;min-height:100vh}.screen.detail{padding-top:12px}.top-app-bar,.detail-app-bar{z-index:20;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#09050dd1;justify-content:space-between;align-items:center;min-height:58px;padding:10px 20px;display:flex;position:sticky;top:0}.detail-app-bar{justify-content:flex-start;gap:12px}.bar-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.icon-button{border:1px solid var(--border-subtle);width:42px;height:42px;color:var(--text-primary);background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:40px;font-weight:800;line-height:1.05}h2{letter-spacing:0;font-size:32px;font-weight:800;line-height:1.08}h3{letter-spacing:0;font-size:22px;font-weight:750;line-height:1.15}p{color:var(--text-secondary);font-size:16px;line-height:1.48}.small{color:var(--text-muted);font-size:13px;line-height:1.45}.label{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:750;line-height:1.2}.muted{color:var(--text-muted)}.success{color:var(--success)}.warn{color:var(--warning)}.danger{color:var(--error)}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.split{justify-content:space-between;align-items:center;gap:12px;display:flex}.logo-mark{width:34px;height:34px;color:var(--brand-orange);border-radius:10px;justify-content:center;align-items:center;font-weight:900;display:inline-flex;position:relative}.logo-mark:before,.logo-mark:after{content:"";border:3px solid #0000;border-radius:10px;position:absolute}.logo-mark:before{border-color:var(--brand-pink) var(--brand-violet) var(--brand-violet) var(--brand-orange);inset:6px 4px 8px 10px}.logo-mark:after{border-color:var(--brand-orange);border-radius:999px;width:18px;height:18px;transform:rotate(35deg)}.logo-lockup{color:var(--text-primary);align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.logo-lockup.full{flex-direction:column;gap:12px;font-size:30px}.logo-lockup.full .logo-mark{width:88px;height:88px}.logo-lockup.full .logo-mark:before{border-width:6px;border-radius:20px}.logo-lockup.full .logo-mark:after{border-width:6px;width:42px;height:42px}.card,.action-card,.collection-card,.review-card,.insights-sheet{border:1px solid var(--border-subtle);background:linear-gradient(#ffffff12,#ffffff09);border-radius:8px;gap:10px;padding:16px;display:grid}.action-card.needs-review,.review-card{box-shadow:inset 4px 0 0 var(--brand-orange);border-color:#ff5a1f99}a.action-card,a.collection-card,a.card{text-decoration:none}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.collection-grid .wide{grid-column:1/-1}.btn{min-height:46px;color:var(--text-primary);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.btn.primary{background:var(--brand-orange);color:#130607}.btn.secondary{border-color:var(--border-subtle);background:#ffffff12}.btn.quiet{color:var(--text-secondary);background:0 0;border-color:#0000}.btn.danger{color:var(--error);background:#ff4d6d1f;border-color:#ff4d6d59}.btn.disabled,.btn:disabled{opacity:.45;pointer-events:none}.search-input,input,select,textarea{border:1px solid var(--border-strong);width:100%;min-height:46px;color:var(--text-primary);background:#0b0512e0;border-radius:8px;padding:0 14px}textarea{min-height:96px;padding-top:12px}input::placeholder,textarea::placeholder{color:var(--text-disabled)}.chip{border:1px solid var(--border-subtle);min-height:34px;color:var(--text-secondary);background:#ffffff0f;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.chip.active{border-color:var(--brand-violet);color:var(--text-primary)}.bottom-nav{z-index:30;width:min(430px,100%);min-height:calc(68px + var(--safe-bottom));padding:8px 10px calc(8px + var(--safe-bottom));border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d0712f0;border-bottom:0;border-radius:24px 24px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{min-height:52px;color:var(--text-muted);border-radius:16px;align-content:center;place-items:center;gap:4px;font-size:11px;font-weight:650;text-decoration:none;display:grid}.bottom-nav a.active{color:var(--text-primary);background:#b24bf333}.bottom-nav a.add{background:var(--brand-orange);color:#160707;border-radius:999px;place-self:center;width:58px;height:58px;min-height:58px;transform:translateY(-12px);box-shadow:0 14px 24px #ff5a1f4d}.nav-icon{font-size:18px;line-height:1}.thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.thumb{aspect-ratio:3/4;border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:8px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb button{width:28px;height:28px;color:var(--text-primary);background:#09050dc7;border:0;border-radius:999px;position:absolute;top:4px;right:4px}.progress{background:#ffffff1a;border-radius:999px;height:7px;overflow:hidden}.progress span{border-radius:inherit;background:var(--brand-orange);height:100%;display:block}.switch{background:var(--brand-orange);border-radius:999px;justify-content:flex-end;width:50px;height:30px;padding:3px;display:inline-flex}.switch span{background:var(--text-primary);border-radius:999px;width:24px;height:24px}.fields{gap:8px;display:grid}.field-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:96px 1fr;gap:10px;padding:8px 0;display:grid}.toast{color:var(--success);background:#36d3991f;border:1px solid #36d39959;border-radius:8px;padding:12px;font-size:14px;font-weight:700}.visual{border:1px solid var(--border-subtle);border-radius:8px;width:100%;height:auto}.shot-list{gap:10px;display:grid}.shot-row{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:8px;grid-template-columns:56px 1fr;align-items:start;gap:10px;padding:10px;display:grid}.shot-thumb{object-fit:cover;border:1px solid var(--border-subtle);background:#ffffff14;border-radius:8px;width:56px;height:56px}.shot-thumb.fallback{color:var(--text-secondary);letter-spacing:.03em;place-items:center;font-size:11px;font-weight:700;display:grid}.shot-content{gap:6px;min-width:0;display:grid}.shot-name{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.status-badge{border-radius:999px;width:fit-content;padding:3px 9px;font-size:12px;font-weight:700}.status-pending_upload,.status-uploaded{color:var(--info);background:#8ab4ff33}.status-processing,.status-processed,.status-deleted{color:var(--success);background:#36d3992e}.status-failed{color:var(--error);background:#ff4d6d2e}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
