/* Cerca visual + interaction system v4 — presentation only. Product semantics remain in existing app code. */
:root{
  --cerca-canvas:#FCFBFF;--cerca-white:#FFFFFF;--cerca-navy:#17163F;--cerca-violet:#5143ED;--cerca-violet-hover:#3F32CB;--cerca-violet-pressed:#3425B0;--cerca-periwinkle:#7968FA;--cerca-lilac:#EBE7FF;--cerca-blush:#F8DFE8;--cerca-muted:#626283;--cerca-line:#D6D0E8;--cerca-input:#7A7296;--cerca-success:#27664B;--cerca-success-bg:#E7F4ED;--cerca-pending:#805C1B;--cerca-pending-bg:#FFF3D8;--cerca-error:#A92F4D;--cerca-error-bg:#FDEAF0;
  --cerca-serif:'DM Serif Display',Georgia,'Times New Roman',serif;--cerca-sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --cerca-shadow:0 18px 48px rgba(23,22,63,.10);--cerca-shadow-soft:0 10px 30px rgba(81,67,237,.10);
  --paper:var(--cerca-canvas);--ink:var(--cerca-navy);--muted:var(--cerca-muted);--line:var(--cerca-line);--purple:var(--cerca-violet);--accent:var(--cerca-violet);--ux-ink:var(--cerca-navy);--ux-muted:var(--cerca-muted);--ux-line:var(--cerca-line);--ux-accent:var(--cerca-violet);--ux-paper:var(--cerca-white);
  color-scheme:light;
  font-synthesis:none;
}
html{background:var(--cerca-canvas);scroll-behavior:smooth}body,body.light{background:var(--cerca-canvas);color:var(--cerca-navy);font-family:var(--cerca-sans);-webkit-font-smoothing:antialiased;color-scheme:light}
body::before{content:'';position:fixed;inset:0;z-index:-5;pointer-events:none;background:radial-gradient(ellipse at 92% 7%,rgba(248,223,232,.62),transparent 33%),radial-gradient(ellipse at 8% 88%,rgba(235,231,255,.84),transparent 37%),var(--cerca-canvas)}
button,input,textarea,select{font-family:var(--cerca-sans)}
h1,h2,.sheet h2,.empty-stage h1,.scene.connected .route-panel h2,.login-box h1,.title-row h1,.access-card h2,.truth h2,.network-card .world-note{font-family:var(--cerca-serif)!important;font-weight:400!important;letter-spacing:-.025em!important;color:var(--cerca-navy)}
p{color:var(--cerca-muted)}
.eyebrow,.route-kicker,.workspace-tag{font-family:var(--cerca-sans)!important;font-size:11px!important;line-height:1.4!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--cerca-violet)!important}

/* Fixed signature. Text remains in markup for accessible naming; artwork provides the visual signature. */
.logo,.brand,.wordmark,.entry-wordmark{position:relative;display:inline-block!important;width:132px!important;height:29px!important;min-width:104px;background:url('/static/brand/cerca-wordmark-primary.svg') left center/contain no-repeat!important;font-size:0!important;line-height:0!important;letter-spacing:0!important;color:transparent!important;text-decoration:none!important;overflow:visible!important;vertical-align:middle}
.logo span,.brand i,.wordmark::after{display:none!important}.sidebar .wordmark{background-image:url('/static/brand/cerca-wordmark-reversed.svg')!important;width:132px!important}.entry-wordmark{width:180px!important;height:39px!important;margin-bottom:28px!important}.login-box .wordmark{width:150px!important;height:33px!important;margin-bottom:30px!important}
@media(max-width:760px){.logo,.brand{width:120px!important;height:26px!important}.entry-wordmark{width:148px!important;height:32px!important}.sidebar .wordmark{width:120px!important;height:26px!important}}

/* Universal interactive contract. */
a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cerca-navy)!important;outline-offset:3px!important}
.button,.btn,.primary,.secondary,.quiet,cerca-notifications .push-button{font-family:var(--cerca-sans)!important;font-size:16px!important;line-height:20px!important;font-weight:600!important;min-height:48px;padding:12px 24px!important;border-radius:999px!important;transition:transform 160ms cubic-bezier(.2,.7,.25,1),background-color 160ms cubic-bezier(.2,.7,.25,1),border-color 160ms cubic-bezier(.2,.7,.25,1),color 160ms cubic-bezier(.2,.7,.25,1),box-shadow 160ms cubic-bezier(.2,.7,.25,1)!important}
.button.primary,.btn.primary,button.primary,.primary.full,cerca-notifications .push-primary{background:var(--cerca-violet)!important;border:1px solid var(--cerca-violet)!important;color:#fff!important;box-shadow:0 8px 20px rgba(81,67,237,.14)!important}
.button.secondary,.btn.secondary,button.secondary,.secondary.full,cerca-notifications .push-button:not(.push-primary){background:#fff!important;border:1px solid var(--cerca-input)!important;color:var(--cerca-navy)!important;box-shadow:none!important}
.quiet,.btn.tertiary,button.tertiary{background:transparent!important;color:var(--cerca-violet)!important;border-color:transparent!important;box-shadow:none!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.danger,.btn.danger,.destructive,[data-danger]{background:var(--cerca-error)!important;border-color:var(--cerca-error)!important;color:#fff!important}
@media(hover:hover) and (pointer:fine){.button.primary:hover,.btn.primary:hover,button.primary:hover,cerca-notifications .push-primary:hover{background:var(--cerca-violet-hover)!important;border-color:var(--cerca-violet-hover)!important;transform:translateY(-1px);box-shadow:0 12px 24px rgba(81,67,237,.17)!important}.button.secondary:hover,.btn.secondary:hover,button.secondary:hover,cerca-notifications .push-button:not(.push-primary):hover{background:#F5F2FF!important;transform:translateY(-1px)}.quiet:hover,.btn.tertiary:hover{background:#F3F0FF!important}.clickable:hover{background:#F7F5FF!important}}
.button:not(:disabled):active,.btn:not(:disabled):active,button.primary:not(:disabled):active,button.secondary:not(:disabled):active,cerca-notifications .push-button:not(:disabled):active{transform:translateY(1px)!important;box-shadow:none!important;transition-duration:80ms!important}.button.primary:not(:disabled):active,.btn.primary:not(:disabled):active,button.primary:not(:disabled):active{background:var(--cerca-violet-pressed)!important;border-color:var(--cerca-violet-pressed)!important}.button.secondary:not(:disabled):active,.btn.secondary:not(:disabled):active,button.secondary:not(:disabled):active{background:#E4DDF8!important}.quiet:not(:disabled):active,.btn.tertiary:not(:disabled):active,button.tertiary:not(:disabled):active{background:#E7E1FC!important;transform:translateY(1px)!important}
button:disabled,.button[aria-disabled=true],.btn:disabled,cerca-notifications .push-button:disabled{opacity:1!important;background:#EEEAF7!important;color:#6C6685!important;border-color:#CBC4DE!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}
[data-cerca-busy=true]{position:relative;cursor:progress!important;pointer-events:none;min-width:var(--cerca-busy-width,auto)}[data-cerca-busy=true]::after{content:'';width:18px;height:18px;margin-left:10px;display:inline-block;vertical-align:-3px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cerca-spin .9s linear infinite}.cerca-busy-delayed::after{opacity:0}.cerca-busy-visible::after{opacity:1}
@keyframes cerca-spin{to{transform:rotate(360deg)}}

/* Fields and choice controls. */
.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=search],select,textarea{background:#fff!important;color:var(--cerca-navy)!important;border:1px solid var(--cerca-input)!important;border-radius:12px!important;min-height:52px!important;padding:13px 16px!important;box-shadow:none!important;transition:border-color 160ms,box-shadow 160ms,background-color 160ms!important}
@media(hover:hover) and (pointer:fine){input:not(:disabled):not([readonly]):hover,select:not(:disabled):hover,textarea:not(:disabled):not([readonly]):hover{border-color:#514767!important}}input:focus,select:focus,textarea:focus{border-color:var(--cerca-violet)!important;box-shadow:0 0 0 3px rgba(81,67,237,.10)!important}input:disabled,select:disabled,textarea:disabled{background:#EEEAF7!important;color:#6C6685!important;border-color:#CBC4DE!important;cursor:not-allowed}input[readonly],textarea[readonly]{background:#F8F7FC!important;color:var(--cerca-navy)!important;border-style:dashed!important;border-color:var(--cerca-input)!important}
textarea{min-height:116px!important;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--cerca-violet)}
.role-choice,.auth-card,.photo-use-choice,.rating-choice{border-color:var(--cerca-line)!important;background:#fff!important}.role-choice:has(input:checked),.rating-choice:has(input:checked){border-color:var(--cerca-violet)!important;background:#F3F0FF!important;box-shadow:0 0 0 1px var(--cerca-violet)!important}.role-choice:focus-within,.rating-choice:focus-within{outline:3px solid var(--cerca-navy)!important;outline-offset:3px!important}

/* Status colors never depend on color alone. */
.badge.pending,.pending,.status.pending{background:var(--cerca-pending-bg)!important;color:var(--cerca-pending)!important}.badge.approved,.badge.confirmed,.success,.status.success{background:var(--cerca-success-bg)!important;color:var(--cerca-success)!important}.error,.inline-error,.status.error{color:var(--cerca-error)!important}.upload-feedback.error{background:var(--cerca-error-bg)!important;border-color:#E9A8BA!important}.upload-feedback.success{background:var(--cerca-success-bg)!important;border-color:#BBDCCB!important;color:var(--cerca-success)!important}

/* Surface depth and layout language. */
.panel,.sheet,.access-card,.truth,.stat,.photo-review,.report-card,.auth-card,.login-box,.founding-banner,.network-card,.join-section,cerca-notifications .push-card{border-color:var(--cerca-line)!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--cerca-shadow-soft);border-radius:20px!important}.sheet,.dialog,.login-box,.access-card,.truth{border-radius:28px!important}.sheet{box-shadow:var(--cerca-shadow)!important}.header,.product-header,.top,.topbar{background:rgba(252,251,255,.88)!important;border-color:var(--cerca-line)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.language-switch button[aria-pressed=true],.language button[aria-pressed=true],.language button.active{background:var(--cerca-navy)!important;color:#fff!important;border-color:var(--cerca-navy)!important}.main-nav button.active,.main-nav button[aria-current=page]{color:var(--cerca-navy)!important;background:rgba(235,231,255,.72)!important}.main-nav button.active::after,.main-nav button[aria-current=page]::after{background:var(--cerca-violet)!important}.mobile-nav button.active,.mobile-nav button[aria-current=page]{background:rgba(235,231,255,.72)!important;color:var(--cerca-navy)!important}

/* Public site: retain content/routes, strengthen editorial hierarchy. */
.product-header{max-width:1440px;min-height:96px}.product-header nav{gap:24px}.product-header .button.compact{min-height:44px!important;font-size:14px!important;padding:10px 18px}.hero{max-width:1440px;padding-top:64px}.hero h1{font-family:var(--cerca-serif)!important;font-size:clamp(52px,5vw,72px)!important;line-height:1.06!important;letter-spacing:-.035em!important}.hero h1 em{color:var(--cerca-violet)!important}.hero-world{filter:saturate(.92)}.portrait{border-radius:28px!important;box-shadow:0 28px 70px rgba(23,22,63,.15)!important}.connection-float{border:1px solid var(--cerca-line)!important;border-radius:20px!important;box-shadow:var(--cerca-shadow-soft)!important}.vibe-row span{border-color:var(--cerca-line)!important;background:rgba(255,255,255,.68)!important}.step-grid article,.control-points article,.faq-section details,.product-footer{border-color:var(--cerca-line)!important}.join-section{background:radial-gradient(ellipse at 0 100%,rgba(235,231,255,.95),transparent 60%),radial-gradient(ellipse at 100% 0,rgba(248,223,232,.9),transparent 60%),#fff!important}

/* Founders orb application. */
.hero .network-card,.founding-orb-card{background:radial-gradient(ellipse at 42% 48%,rgba(223,215,255,.46),transparent 58%),radial-gradient(ellipse at 86% 44%,rgba(249,219,231,.50),transparent 61%),radial-gradient(ellipse at 44% 80%,rgba(237,243,255,.44),transparent 70%)!important;border:0!important;box-shadow:none!important;min-height:0;aspect-ratio:1;position:relative;overflow:visible!important}.founding-orb{position:absolute;inset:0;width:100%;height:100%;display:block}.network-card .pulse-label{z-index:3!important;background:rgba(255,255,255,.91)!important;border:1px solid var(--cerca-line)!important;box-shadow:var(--cerca-shadow-soft)!important}.network-card .pulse-label span{background:var(--cerca-periwinkle)!important}.orb-controls{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:9px}.orb-controls button{min-height:40px!important;padding:8px 14px!important;font-size:12px!important;background:rgba(255,255,255,.92)!important;border:1px solid var(--cerca-line)!important;color:var(--cerca-navy)!important}.orb-status{font-size:11px;color:var(--cerca-muted);white-space:nowrap}.numbers strong,.founding-live strong{font-family:var(--cerca-serif)!important;color:var(--cerca-navy)!important}.progress{background:#EAE6F3!important}.progress i{background:linear-gradient(90deg,var(--cerca-violet),var(--cerca-periwinkle))!important}.counter-note,.countdown{color:var(--cerca-muted)!important}.truth h2{font-size:30px!important}

/* Member discovery: upright active card with restrained rear depth. */
.scene{background:transparent!important}.levitate{isolation:isolate}.scene.discovery .levitate{animation:none!important;transform:none!important}.browse-rear{position:absolute;left:50%;top:0;width:var(--photo-w);height:calc(var(--photo-w) * 1.3);margin-left:calc(var(--photo-w) / -2);border:5px solid #fff;border-radius:28px;background:#fff;box-shadow:0 15px 28px rgba(98,82,164,.14);overflow:hidden;pointer-events:none;transform-origin:50% 85%;transition:transform 450ms cubic-bezier(.2,.8,.2,1),opacity 240ms;z-index:0}.browse-rear.one{transform:translate(19px,-4px) rotate(4deg);z-index:1}.browse-rear.two{transform:translate(34px,-8px) rotate(7deg);z-index:0;filter:brightness(.98)}.browse-rear img{width:100%;height:100%;display:block;object-fit:cover}.photo-drag{z-index:3;position:relative;transform-origin:50% 85%;will-change:transform,opacity}.photo-button{border:5px solid #fff!important;border-radius:28px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 18px 38px rgba(23,22,63,.16)!important}.photo-button img{border-radius:22px!important}.picture-name h1{font-family:var(--cerca-serif)!important;font-weight:400!important}.picture-name h1 span{font-family:var(--cerca-sans)!important;font-weight:400!important;color:var(--cerca-muted)!important}.round,.arrow-side{min-width:44px!important;min-height:44px!important}.arrow-side{background:#fff!important;border:1px solid var(--cerca-line)!important;box-shadow:0 7px 20px rgba(23,22,63,.07)!important;color:var(--cerca-navy)!important}.scene-hint .gallery-actions{gap:10px}.scene-hint .gallery-actions .primary{background:var(--cerca-violet)!important}.route-panel{border-color:var(--cerca-line)!important;background:rgba(255,255,255,.88)!important;box-shadow:var(--cerca-shadow-soft)!important}.level-indicator i{background:var(--cerca-periwinkle)!important}

/* Member overlays/forms. */
.overlay,.page-overlay,.auth-overlay{background:rgba(23,22,63,.16)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sheet{background:#fff!important;color:var(--cerca-navy)!important}.sheet .small,.sheet p,.fine,.ux-helper{color:var(--cerca-muted)!important}.chat-log .bubble{background:var(--cerca-lilac)!important;color:var(--cerca-navy)!important}.chat-log .bubble.mine{background:#E8EEFF!important}.mobile-nav{border-color:var(--cerca-line)!important}

/* Toast/notice: 6s controlled by JS; never a status proof on its own. */
.cerca-notice,#adminToast,.toast{background:var(--cerca-navy)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;border-left:0!important;border-radius:16px!important;box-shadow:0 16px 40px rgba(23,22,63,.25)!important;font-family:var(--cerca-sans)!important}.cerca-notice[data-tone=error]{background:var(--cerca-error)!important}.cerca-notice[data-tone=success]{background:var(--cerca-success)!important}

/* Admin keeps operational density, with shared brand grammar. */
body:has(#adminRoot),body.admin-body{background:#F7F6FC!important}.sidebar{background:var(--cerca-navy)!important;color:#F9F8FF!important}.side-nav button{border-radius:14px!important}.side-nav button.active{background:rgba(235,231,255,.13)!important;color:#fff!important}.side-nav button:focus-visible{outline-color:#fff!important}.content{background:#F7F6FC!important}.title-row h1{font-family:var(--cerca-sans)!important;font-weight:600!important;letter-spacing:-.035em!important}.admin-history .actor{color:var(--cerca-navy)}.moderation-action{border-color:var(--cerca-line)!important;border-radius:16px!important}.data-table{border-color:var(--cerca-line)!important}.bulkbar{background:var(--cerca-lilac)!important;border-radius:16px!important}

/* Notification web component inherits the brand but native OS notification chrome remains platform-owned. */
cerca-notifications{color:var(--cerca-navy)!important}cerca-notifications .push-card{background:#FAF8FF!important;border-color:var(--cerca-line)!important;border-radius:20px!important}cerca-notifications h3{font-family:var(--cerca-serif)!important;font-size:24px!important;font-weight:400!important}cerca-notifications p{font-family:var(--cerca-sans)!important;color:var(--cerca-muted)!important}cerca-notifications .push-result,cerca-notifications .push-cooldown{color:var(--cerca-violet)!important}

/* Install / privacy / standalone policy pages get identity without changing their copy. */
.install-card,.policy-card,.notice-card{border-color:var(--cerca-line)!important;background:#fff!important;box-shadow:var(--cerca-shadow-soft)!important;border-radius:28px!important}

@media(max-width:760px){
  .product-header{min-height:82px;padding:18px 20px}.hero{padding-left:22px!important;padding-right:22px!important}.hero h1{font-size:clamp(46px,12vw,60px)!important}.button,.btn,.primary,.secondary,.quiet,cerca-notifications .push-button{font-size:15px!important}.hero .network-card,.founding-orb-card{min-height:0;max-width:340px!important}.orb-controls{bottom:2px}.orb-status{display:none}.browse-rear{border-width:4px;border-radius:24px}.photo-button{border-width:4px!important;border-radius:24px!important}.sheet,.dialog{border-radius:24px!important}.sidebar .wordmark{margin-bottom:6px}}
@media(max-width:520px){.browse-rear.one{transform:translate(11px,-3px) rotate(4deg)}.browse-rear.two{transform:translate(20px,-6px) rotate(7deg)}.hero .network-card,.founding-orb-card{min-height:0;max-width:300px!important}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.button:hover,.btn:hover,button:hover{transform:none!important}[data-cerca-busy=true]::after{animation:none!important;border-right-color:currentColor!important}.browse-rear{transition:none!important}.browse-rear.one{transform:translate(19px,-4px) rotate(4deg)!important;opacity:.78!important}.browse-rear.two{transform:translate(34px,-8px) rotate(7deg)!important;opacity:.55!important}}
@media(prefers-reduced-motion:reduce) and (max-width:520px){.browse-rear.one{transform:translate(11px,-3px) rotate(4deg)!important}.browse-rear.two{transform:translate(20px,-6px) rotate(7deg)!important}}


/* v4 completion: exact reusable states for existing components. */
[data-cerca-state="pending"],.cerca-state-pending{background:var(--cerca-pending-bg)!important;color:var(--cerca-pending)!important;border:1px solid #D8B667!important;border-radius:14px!important}
[data-cerca-state="success"],.cerca-state-success{background:var(--cerca-success-bg)!important;color:var(--cerca-success)!important;border:1px solid #A9D3BC!important;border-radius:14px!important}
[data-cerca-state="error"],.cerca-state-error{background:var(--cerca-error-bg)!important;color:var(--cerca-error)!important;border:1px solid #E3A9B8!important;border-radius:14px!important}
[data-cerca-selected="true"],button[aria-pressed="true"].cerca-choice{background:var(--cerca-lilac)!important;color:var(--cerca-navy)!important;border:2px solid var(--cerca-navy)!important;box-shadow:none!important}
.skeleton,.media-skeleton{background:#EEEBF8!important;color:transparent!important;border-radius:14px!important;animation:cerca-skeleton 1200ms ease-in-out infinite alternate!important}
@keyframes cerca-skeleton{from{opacity:.55}to{opacity:1}}
.avatar,.person-cell img,.member-row>img{border:2px solid #fff!important;box-shadow:0 4px 14px rgba(23,22,63,.10)}
.dialog,.sheet{max-width:min(100% - 32px,680px)}
.cerca-notice,#adminToast,.toast{max-width:min(390px,calc(100vw - 32px));padding:16px!important;font-size:14px!important;line-height:1.55!important}
.sidebar a:focus-visible,.sidebar button:focus-visible,.sidebar [tabindex]:focus-visible{outline-color:#B5A8FF!important}
@media(prefers-reduced-motion:reduce){.skeleton,.media-skeleton{animation:none!important;opacity:.72!important}}
