@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#14233A;--surface:#1C304A;--surface-2:#263F5B;--rail:#101C2F;--rail-text:#F5F9FC;--rail-muted:#BAC8D4;--text:#F5F9FC;--muted:#ADCAE0;--border:#3E5872;--accent:#89CFF0;--accent-ink:#14233A;--radius:7px;--font-display:'Fraunces',Georgia,serif;--font-body:'Manrope',Inter,system-ui,sans-serif}
body{background:var(--bg);color:var(--text);font-family:var(--font-body)}
button,input,select,textarea{font-family:var(--font-body)}
.brand-icon{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.wordmark-text{font-family:var(--font-display);font-style:normal!important;font-weight:600!important}
.theme-launcher{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:7px;padding:10px 14px;background:var(--surface);color:var(--text);font:600 13px var(--font-body);cursor:pointer;white-space:nowrap}
.theme-launcher:before{content:'';display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-radius:50%;background:linear-gradient(90deg,var(--accent) 50%,transparent 50%)}
.theme-launcher:hover{border-color:var(--accent)}
.theme-floating{position:fixed;bottom:20px;right:20px;z-index:300}
.lensentra-theme-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:30px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--text);box-sizing:border-box;overflow-y:auto;z-index:1000}
.lensentra-theme-dialog::backdrop{background:#071222b3;backdrop-filter:blur(5px)}
.theme-dialog-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}
.theme-dialog-heading h2{font:500 32px/1.2 var(--font-display);margin:6px 0 9px}
.theme-dialog-heading p{color:var(--muted);font-size:13px;margin:0;line-height:1.6}
.theme-dialog-heading .theme-eyebrow{font:700 10px var(--font-body);letter-spacing:.18em;color:var(--accent)}
.theme-close{align-self:flex-start;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:50%;width:34px;height:34px;font-size:23px;cursor:pointer}
.theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.theme-choice{border:1px solid var(--border);border-radius:9px;padding:8px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;min-width:0;transition:border-color .15s,box-shadow .15s}
.theme-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.theme-choice strong{display:block;font:700 11px var(--font-body);margin:10px 1px 5px}
.theme-choice small{display:block;font:400 10px/1.5 var(--font-body);color:var(--muted);min-height:30px}
.theme-preview{display:flex;height:82px;background:var(--preview-bg);border-radius:5px;overflow:hidden}
.theme-preview>i{width:23%;background:var(--preview-rail)}
.theme-preview>span{flex:1;padding:12px 10px;display:flex;gap:5px;flex-wrap:wrap;align-content:flex-start}
.theme-preview b{height:5px;width:80%;background:var(--preview-accent);border-radius:3px;margin-bottom:7px}
.theme-preview em{height:25px;width:40%;background:var(--preview-accent);opacity:.32;border-radius:2px}
.theme-selection-status{font-size:12px;color:var(--muted);min-height:18px;margin:20px 0 0}
.lensentra-theme-dialog :focus-visible,.theme-launcher:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
/* Shared public-site and sign-in surfaces follow the same palette as the workspace. */
header.nav{background:var(--rail);border-bottom:1px solid var(--border)}
header.nav .theme-launcher{background:transparent;color:var(--rail-text);border-color:#ffffff30}
.auth-card,.auth-panel,.modal-card,.auth-box{background:var(--surface);color:var(--text);border-color:var(--border)}
.btn,.auth-card button{border-radius:7px}
.site-watermark{position:absolute;right:-8%;top:10%;width:50%;opacity:.045;pointer-events:none}
@media(max-width:760px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lensentra-theme-dialog{padding:22px}.theme-dialog-heading h2{font-size:27px}.theme-preview{height:72px}.theme-choice strong{font-size:12px}.theme-choice small{font-size:11px;min-height:18px}}
@media(prefers-reduced-motion:reduce){.theme-choice{transition:none}}

@media(max-width:760px){header.nav .nav-inner{height:auto;min-height:65px;padding-top:13px;padding-bottom:13px;flex-wrap:wrap;gap:10px}header.nav .nav-actions{width:100%;justify-content:space-between}header.nav .theme-launcher{font-size:11px;padding:8px 10px}header.nav .btn.sm{padding:8px 12px}}
