/* Public-site visual theme. Fonts are served locally, without third-party requests. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/playfair-400.ttf') format('truetype')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/playfair-500.ttf') format('truetype')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/playfair-600.ttf') format('truetype')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/playfair-700.ttf') format('truetype')}
:root{color-scheme:light;--bg:#eef7fc;--panel:#fff;--panel2:#f2f8fc;--ink:#152733;--dim:#425969;--accent:#086f99;--line:#c4d8e3}
*,*::before,*::after{border-radius:0!important;box-shadow:none!important}
body{background:var(--bg);color:var(--ink);font-family:'Playfair Display',Georgia,serif;font-size:17px;line-height:1.65}
main{max-width:820px;padding:24px 20px 48px}
h1,h2,h3,h4,h5,h6,section h2{font-family:Georgia,'Times New Roman',serif;color:#123e57;letter-spacing:0;text-transform:none;line-height:1.25}
h1{font-size:clamp(30px,6vw,42px);margin:12px 0}
section h2{font-size:22px;margin:0 0 16px}h3{font-size:19px}
header{padding:24px 0;background:transparent;border:0;margin-bottom:24px}
header p{max-width:550px;margin-bottom:0}
.project-links{background:transparent;padding:12px 0;margin-bottom:0;border:0}
.project-links a{color:var(--accent);text-decoration:none;font-weight:600}
.project-links a:hover{text-decoration:underline}
section,.chat-panel{padding:0;margin:32px 0;border:0;background:transparent}
.mode-guide,.demo-status{border:0;background:transparent;padding:0}
section.input-panel{padding:24px;border:1px solid var(--line);background:transparent}
.privacy{padding:0;border:0;background:transparent}
input,textarea,select,button,code{font-family:inherit}
input,textarea,select,#assistant input,#assistant textarea{background:#fff;color:var(--ink)}
section p,section li,.privacy,.project-links,label,small,footer,#assistant .privacy,#assistant footer,#assistant small,#assistant label,#assistant .welcome{font-size:14px;color:var(--dim)}
label,#assistant label{color:var(--ink);font-weight:600}
.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.16em}
.spot-counts{gap:16px}
.spot-counts div{background:transparent;border:0;padding:0}
.spot-counts dt,.spot-counts dd{color:var(--accent)}
.spot-counts small{color:var(--dim)}
button,#assistant button{background:#fff;color:var(--accent);border:1px solid var(--accent)}
button:hover:not(:disabled),#assistant button:hover:not(:disabled){background:#e8f4fb}
button[type=submit],#newProfile button,#send,#assistant #send,.modes button[aria-pressed=true],.print-target,#calibrationSheet .print-target{background:var(--accent);color:#fff!important;border:1px solid var(--accent);font-weight:600}
button[type=submit]:hover:not(:disabled),#newProfile button:hover:not(:disabled),#assistant #send:hover:not(:disabled),.modes button[aria-pressed=true]:hover,.print-target:hover{background:#075777;border-color:#075777}
.print-target{padding:12px 16px;text-decoration:none}
#error,#chatError,#assistant #chatError{color:#a32727;font-weight:600}
.message,#assistant .message{border:0;background:transparent;padding:12px 0}
.message.user,#assistant .message.user{background:transparent;color:var(--ink)}
.suggestions button,#assistant .suggestions button{font-size:14px}
a{color:var(--accent);text-underline-offset:3px}
.chat-panel{max-width:none}
.actions{flex-wrap:wrap}
:is(button,input,textarea,select,a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.project-links a:focus-visible{outline-color:var(--accent)}
@media(max-width:540px){main{padding:16px 14px 32px}header{padding:24px 0}section.input-panel{padding:18px}.spot-counts{gap:10px}}
