.cv-photo-frame{position:relative;width:100%;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--separator)}.cv-photo-img{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain;max-height:70vh;image-orientation:from-image}.cv-pin-layer{position:absolute;inset:0;pointer-events:none}.cv-pin{position:absolute;width:28px;height:28px;border-radius:999px;background:var(--gold);color:var(--foreground);display:grid;place-items:center;border:1.5px solid color-mix(in oklab,var(--foreground) 8%,var(--gold));cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-apple);animation:cvPinFadeIn var(--duration-enter) var(--ease-spring) forwards}.cv-pin:before{content:"";position:absolute;inset:-8px;border-radius:999px}.cv-pin:focus-visible,.cv-pin:hover{transform:translate(-50%,-50%) scale(1.15);outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--gold) 35%,transparent)}.cv-pin[data-active=true]{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 4px color-mix(in oklab,var(--gold) 25%,transparent),0 0 0 6px color-mix(in oklab,var(--gold) 12%,transparent)}.cv-pin[data-impact=negative]{background:color-mix(in oklab,var(--warning) 80%,var(--gold))}@keyframes cvPinPulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab,var(--gold) 30%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--gold) 0,transparent)}}.cv-pin[data-pulse=true]{animation:cvPinFadeIn var(--duration-enter) var(--ease-spring) forwards,cvPinPulse 2.4s ease-in-out .6s infinite}@keyframes cvPinFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.cv-sweep{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}.cv-sweep:after{content:"";position:absolute;left:0;right:0;top:-10%;height:20%;background:linear-gradient(to bottom,color-mix(in oklab,var(--gold) 0,transparent),color-mix(in oklab,var(--gold) 35%,transparent) 50%,color-mix(in oklab,var(--gold) 0,transparent));animation:cvGoldSweep .9s cubic-bezier(.4,0,.6,1) forwards}@keyframes cvGoldSweep{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(550%);opacity:0}}.cv-card{position:absolute;z-index:10;max-width:280px;min-width:200px;background:var(--background);border:1px solid var(--separator);border-radius:16px;padding:14px 16px 14px 14px;box-shadow:0 1px 2px color-mix(in oklab,var(--foreground) 6%,transparent),0 8px 24px color-mix(in oklab,var(--foreground) 8%,transparent);animation:cvCardIn .28s var(--ease-spring) both;pointer-events:auto}@keyframes cvCardIn{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.cv-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.cv-card-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:color-mix(in oklab,var(--gold) 18%,var(--background));color:var(--gold-deep);font-family:var(--font-general-sans);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.cv-card-badge[data-impact=positive]{background:color-mix(in oklab,var(--success) 14%,var(--background));color:var(--success)}.cv-card-badge[data-impact=negative]{background:color-mix(in oklab,var(--warning) 18%,var(--background));color:var(--warning)}.cv-card-close{margin-left:auto;width:24px;height:24px;border-radius:999px;display:grid;place-items:center;color:var(--muted);background:transparent;transition:background var(--duration-fast) var(--ease-apple),color var(--duration-fast) var(--ease-apple)}.cv-card-close:hover{background:var(--surface);color:var(--foreground)}.cv-card-title{font-family:var(--font-source-serif);font-size:17px;line-height:1.25;color:var(--foreground);margin:2px 0 4px}.cv-card-whisper{font-family:var(--font-general-sans);font-size:13.5px;line-height:1.5;color:var(--foreground);opacity:.85;max-height:7.5em;overflow-y:auto;scrollbar-width:thin}.cv-card:before{content:"";position:absolute;width:10px;height:10px;background:var(--background);border-left:1px solid var(--separator);border-top:1px solid var(--separator);transform:rotate(45deg)}.cv-card[data-place=below]:before{top:-6px}.cv-card[data-place=above]:before{bottom:-6px;border:0;border-right:1px solid var(--separator);border-bottom:1px solid var(--separator)}.cv-card[data-align=left]:before{left:20px}.cv-card[data-align=right]:before{right:20px}.cv-card[data-align=center]:before{left:50%;transform:translateX(-50%) rotate(45deg)}@media (max-width:480px){.cv-card[data-mobile-sheet=true]{position:fixed;left:12px;right:12px;bottom:12px;top:auto!important;transform:none;max-width:none;min-width:0;border-radius:20px;padding:16px 18px 18px;box-shadow:0 -2px 24px color-mix(in oklab,var(--foreground) 12%,transparent);animation:cvSheetIn .32s var(--ease-spring) both}.cv-card[data-mobile-sheet=true]:before{display:none}}@keyframes cvSheetIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cv-card,.cv-pin,.cv-pin[data-pulse=true],.cv-sweep:after{animation:none!important;transition:none!important}.cv-pin{opacity:1;transform:translate(-50%,-50%) scale(1)}}.cv-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px;margin-bottom:12px;scrollbar-width:none}.cv-tabs::-webkit-scrollbar{display:none}.cv-tab{flex-shrink:0;width:56px;height:56px;border-radius:12px;overflow:hidden;border:2px solid transparent;background:var(--surface);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-apple),transform var(--duration-fast) var(--ease-apple)}.cv-tab:hover{transform:translateY(-1px)}.cv-tab[data-active=true]{border-color:var(--gold)}.cv-tab img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}