/* Final public-site layer: shared surfaces, controls and progressive interactions. */
[data-site]{--wrap:1184px;--ui-muted:var(--surface);--ui-strong-line:var(--web-gray-light)}
[data-site] body{background:var(--bg)}
[data-site] .site-header{background:var(--bg)}
[data-site] .site-header .wrap{max-width:var(--wrap)}
[data-site] .controls{display:none}
::selection{background:var(--web-accent-pale);color:var(--ink)}
[data-site] :is(.button,button,.site-nav a,input,textarea,select){transition:background-color var(--motion-quick) var(--ease-enter),border-color var(--motion-quick) var(--ease-enter),color var(--motion-quick) var(--ease-enter)}
[data-site] :is(.button,button){min-height:44px;font-size:14px}
[data-site] :is(.button,button):not(:disabled):active{transform:scale(var(--press-scale))}
[data-site] .button:not(.primary):hover,[data-site] button:not(.primary):hover{background:var(--surface);border-color:var(--ui-strong-line)}
[data-site] :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--brand);outline-offset:4px}
[data-site] a:not(.button):not(.brand):not(.desk-route a):not(.site-nav a):not(.skip):hover{color:var(--brand);text-decoration:underline}
[data-site] .site-nav a{min-height:44px;padding:12px 16px;font-size:14px}
[data-site] .site-nav a[aria-current=page]{background:var(--card);border-color:var(--line);color:var(--ink);font-weight:600}
[data-site] .site-nav a.nav-download{color:var(--ink-2)}
[data-site] .desk-logic{background:var(--card);border-color:var(--line)}
[data-site] .desk-route a{background:var(--card)}
[data-site] .desk-route a:hover,[data-site] .desk-route a[aria-current=location]{background:var(--card);border-color:var(--brand)}
[data-site] .desk-route a[aria-current=location] strong{color:var(--brand)}
[data-site] .desk-route a:hover{transform:translateY(-2px)}
[data-site] .desk-stage{padding-block:48px}
[data-site] .desk-stage .mug-status{color:var(--ink-2)}
[data-site] .desk-reasons{gap:32px;padding:24px;background:var(--surface);border-radius:16px}
[data-site] :is(.help-contact,.contact-card,.author-card,.panel,.cta){background:var(--card);border:1px solid var(--line);border-radius:16px}
[data-site] .help-index a{background:var(--card);border-color:var(--line);min-height:44px;display:inline-flex;align-items:center}
[data-site] .faq details,[data-site] .desk-disclosure{background:var(--card);border:1px solid var(--line);border-radius:8px}
[data-site] summary{min-height:44px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px}
[data-site] summary::-webkit-details-marker{display:none}
[data-site] summary::after{content:'+' / ''; font-size:20px;font-weight:400;line-height:1;color:var(--ink-2);flex:none}
[data-site] details[open]>summary::after{content:'−' / ''; color:var(--brand)}
[data-site] summary>.icon{display:none}
[data-site] summary:hover{color:var(--brand)}
[data-site] details[open]{border-color:var(--ui-strong-line)}
[data-site] details[open]>summary{margin-bottom:16px}
[data-site] .desk-disclosure .caption-story{max-width:800px}
[data-site] .proof-controls{gap:8px;display:flex;flex-wrap:wrap;margin-block:16px}
[data-site] .proof-controls button[aria-pressed=true]{border-color:var(--brand);background:var(--surface);color:var(--brand)}
[data-site] .caption-story-state{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px}
[data-site] .caption-story-state .ui-caption{background:var(--card)}
[data-site] .studio-roadmap{display:flex;align-items:start;gap:16px;padding:24px 0;border-block:1px solid var(--line)}
[data-site] .studio-roadmap p{font-size:14px;line-height:1.6;color:var(--ink-2)}
[data-site] #subscribe{background:transparent}
[data-site] .release-notice{display:flex;flex-direction:column;align-items:start;gap:16px}
[data-site] .release-notice p{font-size:14px;color:var(--ink-2)}
[data-site] .legal{max-width:800px}
[data-site] .legal h2{font-size:22px;padding-top:16px;border-top:1px solid var(--line)}
[data-site] .legal p{font-size:16px;line-height:1.7}
[data-site] .site-footer{background:var(--surface);margin-top:64px}
[data-site] .site-footer li a{display:inline-block;padding:8px 0;min-height:40px}
[data-site] .image-enlarge{margin-top:12px;align-self:start;background:var(--card);font-size:13px;min-height:44px}
[data-site] .desk-evidence:has(>.image-enlarge),[data-site] .desk-product{position:relative}
.image-viewer{width:calc(100vw - 48px);max-width:1440px;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);overflow:hidden}
.image-viewer::backdrop{background:var(--scrim)}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--card)}
.viewer-toolbar h2{font-size:16px;letter-spacing:0}.viewer-toolbar>div{display:flex;gap:8px}.viewer-image{overflow:auto;max-height:calc(100dvh - 200px);padding:16px;background:var(--bg)}
.viewer-image img{display:block;max-height:calc(100dvh - 232px);max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}
.actual-size .viewer-image img{max-width:none;max-height:none;margin:0 auto}
.viewer-caption{padding:12px 24px;font-size:13px;color:var(--ink-2)}
html.viewer-open{overflow:hidden}
.nav-toggle{display:none}
@media(max-width:960px){[data-site] .site-header,[data-site] .site-header .wrap{height:64px;min-height:64px}[data-site] .site-header .wrap{position:relative;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;justify-content:space-between}[data-site] .brand-group{margin:0}.nav-cue{display:none!important}html[data-ui-ready] .nav-toggle{display:inline-flex;min-height:44px;gap:8px;padding:8px 12px}html[data-ui-ready] .site-nav{position:absolute;top:63px;left:0;right:0;margin-inline:0;z-index:20;display:none;background:var(--card);border-bottom:1px solid var(--line);padding:16px;max-height:calc(100dvh - 64px);overflow:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:auto}html[data-ui-ready] .site-nav.is-open{display:flex;flex-direction:column;gap:4px}html[data-ui-ready] .site-nav a{display:block;border-radius:8px;padding:12px 16px}.site-nav:before,.site-nav:after{display:none!important}html:not([data-ui-ready]) .site-header{height:auto}html:not([data-ui-ready]) .site-header .wrap{height:auto;flex-wrap:wrap;padding-block:8px}html:not([data-ui-ready]) .site-nav{flex-basis:100%}[data-site] .desk-hero{padding-top:32px}[data-site] .desk-stage{padding-block:32px}[data-site] .desk-reasons{padding:16px;gap:24px}[data-site] .studio-roadmap{flex-direction:column;gap:8px}[data-site] .help-contact,[data-site] .contact-card,[data-site] .cta{padding:24px}[data-site] .site-footer{margin-top:48px}.image-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:8px}.viewer-toolbar{padding:12px;flex-wrap:wrap;gap:8px}.viewer-toolbar>div{margin-left:auto}.viewer-image{padding:8px;max-height:calc(100dvh - 190px)}.viewer-caption{padding:12px;font-size:12px}.viewer-toolbar h2{font-size:14px}.viewer-image img{max-height:calc(100dvh - 216px)}}
@media(prefers-reduced-motion:reduce){[data-site] *,[data-site] *:before,[data-site] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-site] .desk-route a:hover,[data-site] :is(.button,button):active{transform:none}}

.nav-toggle .icon{transition:transform var(--motion-quick) var(--ease-enter)}.nav-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}
@media(min-width:761px) and (max-width:960px){.desk-hero-grid{grid-template-columns:1fr;gap:24px}.desk-hero h1{font-size:40px}.desk-hero-grid>div{max-width:720px}}

.release-notice>input{width:100%;min-height:48px;border:1px solid var(--line);padding:12px 16px;background:var(--surface);color:var(--ink-2);font:inherit}.release-notice>label{font-size:14px;font-weight:500}.release-notice>button{align-self:stretch}.release-notice>input:disabled{cursor:not-allowed;opacity:1}#subscribe{scroll-margin-top:88px}
/* Owner-requested homepage message launcher: border pulse only, no movement. */
.message-widget{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:30}
[data-site] .message-launch{min-width:88px;min-height:48px;border:2px solid var(--web-accent-pale);background:var(--brand);color:var(--on-brand);animation:message-border calc(var(--motion-slow) * 6) ease-in-out infinite;box-shadow:none;transform:none!important}
[data-site] .message-launch:hover{background:var(--brand);color:var(--on-brand);box-shadow:none}
@keyframes message-border{0%,100%{border-color:var(--brand)}50%{border-color:var(--web-accent-pale)}}
.message-panel{position:absolute;right:0;bottom:64px;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--card);display:grid;gap:12px}
.message-panel[hidden]{display:none}.message-panel label{font-size:14px;font-weight:500}.message-panel textarea{width:100%;min-height:80px;max-height:160px;resize:vertical;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:12px;font:inherit;font-size:16px}.message-close{justify-self:end}.message-send{margin-top:4px}.message-error{font-size:13px;color:var(--error)}.message-error:empty{display:none}
@media(max-width:600px){.message-widget{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.message-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){[data-site] .message-launch{animation:none;border-color:var(--web-accent-pale)}}

/* Shared geometry and page rhythm: see DESIGN.md for the exact scale. */
html{scrollbar-gutter:stable}
[data-site] .site-header{height:64px;backdrop-filter:none;background:var(--bg)}
[data-site] .site-header .wrap{height:64px;max-width:1184px;gap:24px}
[data-site] .site-nav{justify-content:flex-end;gap:8px}
[data-site] .site-nav a,[data-site] .site-nav a[aria-current=page]{font-weight:500;line-height:21px}
[data-site] body{background:var(--bg)}
[data-site] :is(.desk-logic,.help-art){background:var(--surface)}
[data-site] :is(.help-contact,.contact-card){background:var(--surface);border-color:var(--web-gray-light)}
[data-site] .desk-reasons{background:var(--surface)}
[data-site] :is(.help-hero,.page-head) h1{font-size:40px;line-height:1.2}
[data-site] :is(.desk-stage-title,.desk-workflow-heading,.desk-local,.help-group) h2{font-size:28px;line-height:1.25}
[data-site] .desk-reasons h3{font-size:20px;line-height:1.4;font-weight:500}
[data-site] .desk-reasons p{font-size:16px;line-height:1.5}
[data-site] :is(.button,button,.desk-route a){transition:background-color var(--motion-quick) var(--ease-enter),border-color var(--motion-quick) var(--ease-enter),color var(--motion-quick) var(--ease-enter),transform var(--motion-quick) var(--ease-enter)}
[data-site] .faq details{transition:background-color var(--motion-normal) var(--ease-enter),border-color var(--motion-normal) var(--ease-enter)}
@keyframes page-content-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){[data-site] main{animation:page-content-enter var(--motion-slow) var(--ease-enter) both}}
.message-widget{right:max(40px,calc((100vw - 1120px)/2));bottom:40px}
@media(max-width:960px){[data-site] .site-header .wrap{gap:8px}[data-site] .site-nav{justify-content:flex-start}.message-widget{right:24px;bottom:max(24px,env(safe-area-inset-bottom))}.message-panel{max-width:calc(100vw - 48px)}}
@media(max-width:760px){[data-site] :is(.help-hero,.page-head) h1{font-size:36px}[data-site] .desk-hero h1{font-size:40px;line-height:1.1}}
@media(max-width:600px){[data-site] :is(.support-layout,.about-story){grid-template-columns:minmax(0,1fr)}[data-site] :is(.support-layout,.about-story)>*{grid-column:1/-1;min-width:0}}
