.camera-root{z-index:70;background:var(--ink);justify-content:center;display:flex;position:fixed;inset:0}.camera{width:100%;max-width:480px;color:var(--on-ink);outline:none;flex-direction:column;display:flex}.camera__head{justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.camera__title{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:24px;font-weight:400}.camera__close{width:44px;height:44px;color:var(--on-ink);border:2px solid var(--on-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:flex}.camera__close:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.camera__stage{border:2px solid var(--on-ink);background:var(--black);flex:1;justify-content:center;align-items:center;min-height:0;margin:0 16px;display:flex;position:relative;overflow:hidden}.camera__media{object-fit:contain;width:100%;height:100%;display:block}.camera__media.is-mirrored{transform:scaleX(-1)}.camera__loader{position:absolute}.camera__error{text-align:center;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.camera__error p{max-width:280px;margin:0;line-height:1.45}.camera__controls{justify-content:space-between;align-items:center;gap:12px;padding:18px 16px 26px;display:flex}.camera__controls>.btn:not(.camera__side){flex:1}.camera .camera__side{min-width:92px;color:var(--on-ink)}.camera__shutter{cursor:pointer;background:var(--accent);border:5px solid var(--on-accent);width:76px;height:76px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;flex:none}.camera__shutter:active:not(:disabled){transform:scale(.94)}.camera__shutter:disabled{opacity:.4;cursor:default}.camera__shutter:focus-visible{outline:3px solid var(--on-ink);outline-offset:4px}.camera .btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:none}.camera .btn--primary:hover:not(:disabled){background:var(--accent-press);border-color:var(--accent-press)}
