:root{--color-scheme: dark;color-scheme:var(--color-scheme);--color-canvas: #080b0a;--color-surface: #111614;--color-surface-raised: #18201d;--color-text: #f2f7f4;--color-muted: #8d9a93;--color-border: #29342f;--color-accent: #b9f7d4;--color-accent-ink: #102419;--color-focus: #ffffff;--color-shadow: rgb(0 0 0 / .32);--color-pulse: rgb(185 247 212 / .24);--color-overlay: rgb(0 0 0 / .68);--color-danger: #ffb4ab;--color-camera: #000000;--color-shutter: #ffffff;--color-shutter-ring: rgb(255 255 255 / .42);--color-disabled: rgb(141 154 147 / .48);--color-input: #0d1210;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-small: .75rem;--radius-large: 1.4rem;--border-width: 1px}*{box-sizing:border-box}html,body,#root{min-width:20rem;min-height:100%;margin:0}body{min-height:100vh;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans)}button{font:inherit}button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.auth-screen,.splash-screen{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-card{display:grid;width:min(100%,24rem);justify-items:center;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);padding:2.5rem 1.5rem 1.5rem;background:var(--color-surface);box-shadow:0 1.5rem 5rem var(--color-shadow);text-align:center}.brand-mark{display:grid;width:3rem;height:3rem;place-items:center;border-radius:30% 70% 58% 42%;background:var(--color-accent);color:var(--color-accent-ink);font-size:1.25rem;font-weight:900}.brand-mark--large{width:4.5rem;height:4.5rem;font-size:1.8rem}.eyebrow{margin:1.25rem 0 0;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1{margin:.4rem 0 2rem;font-size:clamp(2rem,8vw,3rem);letter-spacing:-.05em}.auth-button{width:100%;min-height:3.25rem;border:0;border-radius:var(--radius-small);background:var(--color-accent);color:var(--color-accent-ink);cursor:pointer;font-weight:800}.preview-disclosure{margin:1rem 0 0;color:var(--color-muted);font-size:.72rem}.auth-card--failure h1{margin-bottom:1rem}.failure-message{margin:0 0 1.5rem;color:var(--color-muted);line-height:1.5}.splash-screen{align-content:center;gap:1.25rem}.splash-screen strong{font-size:1.15rem;letter-spacing:-.02em}.loading-pulse{width:.45rem;height:.45rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 .5rem var(--color-pulse);animation:pulse .9s ease-in-out infinite alternate}.app-shell{min-height:100vh;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.empty-workspace{display:grid;min-height:calc(100vh - 4.75rem);align-content:start;justify-items:start;gap:.65rem;padding:1.25rem}.empty-workspace span{color:var(--color-muted);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.primary-action-surface{position:fixed;z-index:40;inset-inline:0;top:0;height:100vh;height:100svh;pointer-events:none}.bottom-action-bar{position:absolute;z-index:20;inset-inline:0;bottom:0;display:flex;pointer-events:auto;min-height:calc(5.5rem + env(safe-area-inset-bottom));align-items:center;justify-content:space-around;gap:.25rem;border-top:var(--border-width) solid var(--color-border);padding:.5rem .35rem env(safe-area-inset-bottom);background:var(--color-surface)}.bottom-action-bar--camera{z-index:40;display:grid;grid-template-columns:minmax(0,1fr) 4.75rem minmax(0,1fr)}.bottom-action{flex:1 1 0;min-width:0;border:0;background:var(--color-surface);color:var(--color-muted);font-size:clamp(.6rem,2.6vw,.74rem);font-weight:700}.bottom-action:not(:disabled){color:var(--color-accent);cursor:pointer}.bottom-action--primary:not(:disabled){color:var(--color-accent)}.bottom-action--danger:not(:disabled){color:var(--color-danger)}.bottom-action:disabled{color:var(--color-disabled);cursor:default}.bottom-action--slot-left{grid-column:1;justify-self:start}.bottom-action--slot-center{grid-column:2;justify-self:center}.bottom-action--slot-right{grid-column:3;justify-self:end}.capture-shutter{position:static;width:4.75rem;height:4.75rem;border:.3rem solid var(--color-shutter-ring);border-radius:50%;background:var(--color-shutter);box-shadow:inset 0 0 0 .18rem var(--color-camera)}.capture-shutter:not(:disabled){background:var(--color-shutter);color:var(--color-camera)}.capture-shutter:disabled{opacity:.55}.capture-shutter:focus-visible{outline-offset:.35rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.active-project{font-size:1.25rem}.project-menu-layer{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;align-items:end}.project-menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:var(--color-overlay)}.project-menu{position:relative;display:grid;max-height:min(80vh,42rem);overflow:auto;gap:1rem;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large) var(--radius-large) 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--color-surface-raised);box-shadow:0 -1.5rem 5rem var(--color-shadow)}.project-menu-header,.project-form-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-menu h2{margin:0;font-size:1.4rem}.project-menu-status{margin:1rem 0;color:var(--color-muted)}.project-list{display:grid;margin:0;padding:0;gap:.5rem;list-style:none}.project-list button,.add-project-button,.quiet-button,.submit-project-button{min-height:2.75rem;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);padding:.6rem .85rem;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:750}.project-list button{width:100%;text-align:left}.project-list button[aria-current=page]{border-color:var(--color-accent);color:var(--color-accent)}.add-project-button,.submit-project-button{background:var(--color-accent);color:var(--color-accent-ink)}.project-form{display:grid;gap:.75rem}.project-form label{font-size:.78rem;font-weight:800}.project-form input{min-height:3rem;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);padding:.65rem .8rem;background:var(--color-input);color:var(--color-text);font:inherit}.project-form input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.project-error,.project-list-error{margin:0;color:var(--color-danger);line-height:1.4}.project-form-actions{flex-wrap:wrap;justify-content:flex-end}.project-form-actions button:disabled{cursor:wait;opacity:.65}.project-captures{width:min(100%,42rem);margin:0 auto;padding:1.25rem 1rem 6.5rem}.project-captures h2{margin:.25rem 0 .5rem}.project-captures>p,.capture-summary{color:var(--color-muted)}.photo-capture-page{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--color-camera)}.camera-preview,.photo-review-image{width:100%;height:100%;background:var(--color-camera);object-fit:cover}.capture-location-status{position:absolute;z-index:2;top:calc(.75rem + env(safe-area-inset-top));left:50%;margin:0;border-radius:999px;padding:.4rem .7rem;background:var(--color-overlay);color:var(--color-text);font-size:.72rem;font-weight:800;letter-spacing:.04em;transform:translate(-50%)}.capture-camera-error,.capture-save-error{margin:0;color:var(--color-danger)}.capture-camera-error{position:absolute;z-index:3;right:1rem;bottom:calc(6.5rem + env(safe-area-inset-bottom));left:1rem;border-radius:var(--radius-small);padding:.75rem;background:var(--color-overlay);text-align:center}.capture-annotation-sheet{position:absolute;z-index:3;right:.75rem;bottom:calc(6.5rem + env(safe-area-inset-bottom));left:.75rem;display:grid;gap:.65rem;max-height:min(42vh,22rem);overflow:auto;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);padding:1rem;background:var(--color-surface-raised);box-shadow:0 1rem 3rem var(--color-shadow)}.capture-annotation-sheet label{font-weight:750}.capture-annotation-sheet textarea{min-height:7rem;resize:vertical;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);padding:.7rem;background:var(--color-input);color:var(--color-text);font:inherit}.capture-annotation-sheet textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.project-captures{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface)}.project-capture-list img{width:100%;max-height:28rem;border-radius:var(--radius-small);background:var(--color-input);object-fit:contain}.project-captures{display:grid;gap:.75rem;margin-top:1.25rem}.project-capture-list{display:grid;gap:.75rem;padding:0;margin:0;list-style:none}.project-capture-list li{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.75rem;align-items:start}.project-capture-list img{height:6rem}.project-capture-list p{margin:0;overflow-wrap:anywhere}@keyframes pulse{to{transform:scale(.72)}}@media (min-width: 48rem){.app-shell{width:min(100%,40rem);margin:0 auto;border-right:var(--border-width) solid var(--color-border);border-left:var(--border-width) solid var(--color-border)}.bottom-action-bar{right:50%;left:50%;width:min(100%,40rem);transform:translate(-50%);border-right:var(--border-width) solid var(--color-border);border-left:var(--border-width) solid var(--color-border)}.photo-capture-page .bottom-action-bar{right:0;left:0;width:100%;transform:none}.project-menu{width:min(100%,40rem);margin:0 auto;border-radius:var(--radius-large) var(--radius-large) 0 0}}
