.face-tagger{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}.face-tagger-compact{align-items:stretch;gap:0;width:max-content;max-width:100%;margin-inline:auto;position:relative}.face-tagger-compact .face-tagger-image{border-radius:12px;max-height:calc(100dvh - 250px)}.face-tagger-body{display:contents}.face-tagger-compact .face-tagger-panel{z-index:8;gap:12px;width:320px;height:420px;max-height:420px;margin:0;padding:18px 18px 14px;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 16px 40px #00000047}.face-tagger-compact .face-tagger-stage{border:0;border-radius:12px;box-shadow:0 18px 48px #00000059}.face-tagger-compact .face-tagger-toolbar{gap:10px 14px}.face-tagger-compact>.face-tagger-hint,.face-tagger-compact>.face-tagger-notice{display:none}.face-tagger-compact .face-tagger-error{color:#f0c2ba}.face-tagger-compact .face-tagger-toolbar .face-tagger-btn{color:var(--color-text);background:#fffdf8f5}.face-tagger-compact .face-tagger-toolbar .face-tagger-btn.ghost{color:#fffdf8db;background:0 0;border-color:#fffdf847}.face-tagger-stage{border-radius:var(--radius-lg);touch-action:none;-webkit-user-select:none;user-select:none;background:#1c1916;width:fit-content;max-width:100%;line-height:0;display:block;position:relative;overflow:visible}.face-tagger-stage.is-drawing{cursor:crosshair}.face-tagger-image{width:auto;max-width:100%;height:auto;max-height:min(78vh,900px);display:block}.face-box{box-sizing:border-box;cursor:pointer;background:#5f7c6b1f;border:2px solid #fffdf8eb;border-radius:4px;max-width:100%;max-height:100%;margin:0;padding:0;position:absolute;overflow:visible;box-shadow:inset 0 0 0 1px #00000040}.face-box-detected,.face-box-proposed{background:#e6c36a24;border-color:#e6c36a}.face-box-confirmed{border-color:var(--color-accent)}.face-box-draft{pointer-events:none;background:#fffdf814;border-style:dashed;border-color:#fffdf8}.face-box.is-active{z-index:2;box-shadow:inset 0 0 0 2px #fffdf8}.face-box-tools{opacity:0;pointer-events:none;z-index:3;align-items:center;gap:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.face-box:hover .face-box-tools,.face-box:focus-visible .face-box-tools,.face-box.is-active .face-box-tools{opacity:1}.face-box-label,.face-box-edit{white-space:nowrap;color:#fffdf8;background:#141210e0;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.2}.face-box-edit{color:#1c1916;background:#fffdf8}.face-tagger-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.face-tagger-toolbar-hint{color:var(--color-text-muted);flex:180px;margin:0;font-size:13.5px;line-height:1.45}.face-tagger-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700}.face-tagger-btn:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface-muted)}.face-tagger-btn.is-on{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface))}.face-tagger-btn:disabled{opacity:.55;cursor:not-allowed}.face-tagger-btn.ghost{background:0 0;font-weight:650}.face-tagger-btn.danger{color:#9a3b2f;border-color:#9a3b2f59}.face-tagger-notice{border-radius:var(--radius-md);color:var(--color-text);background:#fffdf8f0;margin:0;padding:10px 12px;font-size:14px;line-height:1.45}.face-tagger-error{color:#9a3b2f;margin:0;font-size:13.5px}.face-tagger-hint{color:var(--color-text-muted);margin:0;font-size:13.5px;line-height:1.45}.face-tagger-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:12px;width:320px;height:420px;padding:16px;display:flex;overflow:hidden}.face-tagger-panel-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.face-tagger-panel-head strong{font-size:16px;line-height:1.3;display:block}.face-tagger-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-dark);margin:0 0 2px;font-size:11px;font-weight:800}.face-tagger-text{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:13.5px;font-weight:700}.face-tagger-text:hover{color:var(--color-text)}.face-tagger-panel-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;justify-content:flex-start;gap:14px;margin-top:auto;padding-top:4px;display:flex}.face-tagger-text.danger{color:#9a3b2f}@media (max-width:640px){.face-tagger-compact{width:100%;max-width:100%}.face-tagger-compact .face-tagger-panel{width:auto;height:380px;max-height:380px;inset:auto 8px 8px}.face-tagger-compact .face-tagger-image,.face-tagger-image{max-height:calc(100dvh - 280px)}.face-tagger-panel{padding:14px}.face-tagger-panel-actions .face-tagger-btn{flex:120px}}.person-picker{flex-direction:column;flex:1;gap:8px;min-width:0;max-width:100%;min-height:0;display:flex}.person-picker-input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;height:46px;font:inherit;background:var(--color-bg);color:var(--color-text);padding:0 14px;font-size:16px}.person-picker-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #5f7c6b26}.person-picker-list{flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;display:flex;overflow:auto}.person-picker-option>span,.person-picker-create{overflow-wrap:anywhere;min-width:0}.person-picker-option,.person-picker-create{text-align:left;border-radius:var(--radius-md);background:var(--color-bg);width:100%;font:inherit;color:var(--color-text);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.person-picker-option:hover{background:var(--color-surface-muted)}.person-picker-create{color:var(--color-surface);background:var(--color-accent);border-color:#0000;justify-content:center;min-height:44px;font-weight:750}.person-picker-create:hover{background:var(--color-accent-dark);color:var(--color-surface)}.person-picker-meta{color:var(--color-text-muted);font-size:11px;font-weight:700}.person-picker-hint{color:var(--color-text-muted);margin:0;padding:6px 10px;font-size:13px}.person-picker-cancel{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:13px;font-weight:650}.face-view{width:fit-content;max-width:100%;line-height:0;position:relative}.face-view-image{border-radius:12px;width:auto;max-width:100%;height:auto;max-height:min(78vh,820px);display:block}.face-pins{z-index:4;pointer-events:none;position:absolute;inset:0}.face-pins-plane{pointer-events:none;position:absolute;inset:0}.face-pin{color:#fffdf8;cursor:pointer;pointer-events:auto;background:#1412106b;border:0;border-radius:999px;place-items:center;width:22px;height:22px;padding:0;display:grid;position:absolute;transform:translate(-50%,-70%);box-shadow:0 1px 4px #00000040}.face-pin:hover,.face-pin:focus-visible{background:#141210d1;outline:none}.face-pin-name{color:#fffdf8;white-space:nowrap;opacity:0;pointer-events:none;background:#141210e0;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;line-height:1.2;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.face-pin:hover .face-pin-name,.face-pin:focus-visible .face-pin-name,.face-pin.is-open .face-pin-name{opacity:1}.face-pin.is-open{background:#141210d1}
