@charset "UTF-8";
:root{color-scheme:dark;--radius-card:12px;--radius-control:8px;--radius-pill:9999px;--bg:#151513;--surface:#1e1e1a;--ink:#f4f2eb;--muted:#b5b4aa;--line:#373730;--accent:#e7a861;--max:1240px;font-family:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{color:inherit}img{max-width:100%;display:block}p{color:var(--muted);font-size:1.0625rem;line-height:1.65;margin:0 0 1.2rem}h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,6.7vw,6.1rem);line-height:1.02}h2{font-size:clamp(2.25rem,4vw,3.6rem);line-height:1.08}h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-90px;background:var(--accent);color:var(--bg);padding:14px;z-index:30}.skip-link:focus{top:12px}.site-header{height:92px;border-bottom:1px solid var(--line);background:var(--bg)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:1.25rem;font-weight:600;letter-spacing:-.035em}.brand img{width:30px;height:40px;object-fit:contain}.brand .brand-pro{font-weight:400;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:32px}.nav-links>a{font-size:.9375rem;color:var(--muted);transition:color .2s}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 24px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--accent);color:#1c1a16;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s,border-color .2s,color .2s;line-height:1.25}.button:hover{background:#f1bb7c;transform:translateY(-1px)}.button.secondary{border-color:#4c4c42;background:transparent;color:var(--ink)}.button.secondary:hover{background:#25251f;border-color:var(--muted)}.button.small{min-height:44px;padding:11px 18px}.button svg{width:18px;height:18px}.nav-links>.button{color:#1c1a16}.menu-toggle{display:none;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;padding:10px 14px;min-height:44px;cursor:pointer;transition:border-color .2s}.menu-toggle:hover{border-color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem;color:var(--accent);display:block;line-height:1.5;margin-bottom:22px}.hero{position:relative;padding:85px 0 70px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:54px;align-items:center}.hero h1{font-size:clamp(3rem,5.9vw,5.6rem);max-width:760px}.hero-copy>p{max-width:475px;margin-top:28px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-note{font-size:.875rem;margin-top:19px;display:flex;align-items:center;gap:10px}.hero-note span{width:3px;height:3px;border-radius:50%;background:var(--muted)}.hero-art{position:relative;height:505px;margin:0 0 0 10px}.photo-main{position:absolute;inset:12px 20px 60px 0;background:#272723;padding:14px 14px 32px;transform:rotate(-5deg);box-shadow:0 24px 64px #0008;border:1px solid #49483c}.photo-main img{width:100%;height:100%;object-fit:cover}.photo-secondary{position:absolute;width:43%;height:270px;right:-5px;bottom:0;transform:rotate(8deg);padding:10px 10px 29px;background:#dedbd0;box-shadow:0 16px 44px #0007}.photo-secondary img{height:100%;width:100%;object-fit:cover;object-position:center}.frame-label{position:absolute;bottom:11px;left:16px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.photo-secondary .frame-label{color:#41413b;left:12px;font-size:.75rem}.film-marker{position:absolute;top:-3px;right:34px;width:82px;height:76px;display:grid;place-items:center;z-index:1;background:var(--accent);color:var(--bg);font-family:Georgia,serif;font-size:2.2rem;transform:rotate(4deg)}.hero-art-caption{position:absolute;bottom:10px;left:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;letter-spacing:.05em;color:var(--muted);max-width:48%;line-height:1.5}.promise-strip{border-block:1px solid var(--line);padding:24px 0}.promise-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.9375rem;color:#d4d3c9}.promise-inner span{display:flex;align-items:center;gap:12px}.promise-inner svg{width:18px;height:18px;color:var(--accent)}.section{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-heading h2{max-width:620px}.section-heading p{max-width:350px;margin:0}.screen-frame{margin:0;border:1px solid #48483f;border-radius:var(--radius-card);overflow:hidden;background:#232323;box-shadow:0 30px 100px #0005}.screen-frame img{width:100%;height:auto}.screen-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 2px;font-size:.8125rem;color:var(--muted)}.screen-caption span:first-child{color:var(--accent);font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em}.workflow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin:36px 0 30px;padding:0;list-style:none}.workflow-step{border-top:1px solid var(--line);padding-top:22px}.step-number{font-family:ui-monospace,SFMono-Regular,monospace;color:var(--accent);font-size:.8125rem;display:block;margin-bottom:14px}.workflow-step h3{font-size:1.125rem;margin-bottom:10px}.workflow-step p{font-size:.9375rem;line-height:1.55}.text-link{color:var(--accent);border-bottom:1px solid #e7a86155;padding-bottom:3px;display:inline-block;font-size:.9375rem;transition:border-color .2s,color .2s}.text-link:hover{border-color:var(--accent)}.comparison-section{background:#1c1c18;border-block:1px solid var(--line)}.comparison-grid{display:grid;grid-template-columns:.78fr 1.3fr;gap:70px;align-items:center}.comparison-copy h2{margin-bottom:25px}.comparison-copy p{max-width:390px}.comparison{position:relative;aspect-ratio:1.5;overflow:hidden;--split:50%;background:#171715;border-radius:var(--radius-card);border:1px solid #4a4a40}.comparison>img,.comparison .negative{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison .negative{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-handle{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;box-shadow:0 0 4px #0005}.comparison-handle:after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:42px;height:42px;background:#fff;color:#1b1b17;display:grid;place-items:center;font-size:1.4rem;box-shadow:0 2px 10px #0005}.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:2}.comparison:focus-within{outline:3px solid var(--accent);outline-offset:5px}.compare-label{position:absolute;top:16px;padding:6px 10px;background:#171715d9;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;letter-spacing:.06em;pointer-events:none;z-index:1;color:#fff}.compare-label.before{left:16px}.compare-label.after{right:16px}.comparison-caption{margin-top:12px;font-size:.8125rem;line-height:1.5}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:45px;gap:0}.feature-item{padding:36px 30px 20px 0;border-bottom:1px solid var(--line)}.feature-item+.feature-item{padding-left:30px}.feature-item h3{margin:18px 0 12px;font-size:1.375rem}.feature-item p{font-size:1rem}.feature-icon{width:26px;height:26px;color:var(--accent)}.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.philosophy h2{font-size:clamp(3rem,5.3vw,4.9rem);max-width:590px}.philosophy p{font-size:1.125rem}.philosophy-rule{height:1px;width:54px;background:var(--accent);margin:15px 0 30px}.cta-panel{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:65px 70px;display:flex;justify-content:space-between;gap:45px;align-items:center;border-radius:var(--radius-card)}.cta-panel h2{font-size:clamp(2rem,3.8vw,3.4rem);max-width:600px}.cta-panel p{color:var(--muted);margin:18px 0 0;max-width:520px}.cta-panel .button{min-width:190px;flex-shrink:0}.site-footer{padding:52px 0 25px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:45px}.footer-tagline{margin:18px 0 0;font-size:.9375rem}.footer-links{display:grid;grid-template-columns:repeat(3,auto);gap:40px 55px}.footer-column{display:flex;flex-direction:column;gap:12px}.footer-column span{font-size:.8125rem;color:var(--muted);margin-bottom:3px}.footer-column a{font-size:.9375rem}.footer-column a{transition:color .2s}.footer-column a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;color:#aaa99e;font-size:.8125rem;line-height:1.5}.page-hero{padding:75px 0 55px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:980px;font-size:clamp(3rem,5.7vw,5.2rem)}.page-hero p{max-width:650px;margin:24px 0 0;font-size:1.125rem}.content-grid{display:grid;grid-template-columns:240px 1fr;gap:70px}.side-nav{display:flex;flex-direction:column;gap:16px;position:sticky;top:35px;align-self:start}.side-nav a{color:var(--muted);font-size:.9375rem;transition:color .2s}.side-nav a:hover{color:var(--accent)}.prose{max-width:800px}.prose h2{font-size:2rem;margin:45px 0 20px;letter-spacing:-.035em}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.25rem;margin:28px 0 14px}.prose ul,.prose ol{color:var(--muted);line-height:1.8;font-size:1.0625rem;padding-left:22px}.prose li{padding-left:6px;margin-bottom:10px}.prose strong{color:var(--ink);font-weight:500}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:transparent}.notice{border:1px solid #e7a86155;background:#e7a86109;border-radius:var(--radius-card);padding:24px 28px;margin-bottom:32px}.notice p:last-child{margin:0}.notice h3{margin:0 0 12px}.download-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:start}.download-card{background:var(--surface);border:1px solid var(--line);padding:44px;border-radius:var(--radius-card)}.download-card .app-icon{width:88px;height:88px;margin-bottom:30px;border-radius:18px}.download-card h2{font-size:2.4rem;margin-bottom:14px}.pill{display:inline-block;border:1px solid #e7a86166;color:var(--accent);padding:5px 12px;border-radius:var(--radius-pill);font-size:.8125rem;margin-bottom:20px}.requirements{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:25px 0}.requirements dt,.requirements dd{margin:0;border-top:1px solid var(--line);padding:15px 0;font-size:.9375rem;line-height:1.4}.requirements dt{color:var(--muted)}.requirements dd{text-align:right}.download-card .button{width:100%}.download-aside h3{margin:15px 0}.download-aside p{margin-bottom:32px}.timeline{border-left:1px solid #555247;padding-left:38px;margin-left:8px}.timeline-item{position:relative;padding-bottom:55px}.timeline-item:before{content:"";position:absolute;top:5px;left:-44px;width:11px;height:11px;background:var(--bg);border:2px solid var(--accent);border-radius:50%}.timeline-item .eyebrow{margin-bottom:12px}.timeline-item h2{font-size:2rem;margin-bottom:18px}.timeline-item p{max-width:680px}.timeline-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.timeline-tags span{background:var(--surface);border:1px solid var(--line);padding:5px 12px;font-size:.8125rem;border-radius:var(--radius-pill)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq details[open]{padding-bottom:22px}.faq summary{cursor:pointer;font-size:1.125rem;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:500;padding:22px 0}.faq details[open] summary{padding-bottom:0}.faq summary:after{content:"+";color:var(--accent)}.faq details[open] summary:after{content:"−"}.faq summary::-webkit-details-marker{display:none}.faq details p{margin:18px 32px 0 0;font-size:1rem}.camera-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.9375rem}.camera-table th,.camera-table td{text-align:left;border-bottom:1px solid var(--line);padding:18px 12px 18px 0;line-height:1.5;vertical-align:top}.camera-table th{color:var(--muted);font-weight:400}.camera-table td:first-child{width:28%}.camera-table td:last-child{color:var(--muted)}.press-assets{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:28px}.asset-card{padding:25px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.asset-card img{height:160px;object-fit:contain;margin:auto auto 25px}.asset-card h3{margin:0 0 12px}.asset-card .text-link{text-decoration:none}.page-section{margin-bottom:55px}.page-section>h2{margin-bottom:22px}.empty-release{padding:45px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-card)}.empty-release h2{font-size:1.8rem;margin-bottom:18px}.not-found{text-align:center;min-height:60vh;padding-block:100px}.not-found p{margin:25px auto;max-width:500px}
@media(min-width:1500px){.hero{padding:100px 0 85px}.hero-art{height:550px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.nav-links{gap:22px}.hero-grid{gap:35px}.hero-art{height:435px}.photo-secondary{height:225px}.hero h1{font-size:4.2rem}.section{padding:75px 0}.comparison-grid{gap:40px}.workflow-steps{gap:18px}.philosophy{gap:60px}.footer-links{gap:30px}.content-grid{grid-template-columns:180px 1fr;gap:40px}}
@media(max-width:800px){.site-header{height:76px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;z-index:10;background:var(--bg);padding:25px 32px 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:22px}.nav-links.is-open{display:flex}.hero{padding:50px 0}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(3.3rem,8vw,5rem)}.hero-copy>p{max-width:550px}.hero-art{height:490px;width:min(560px,100% - 15px);margin-inline:auto}.promise-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px}.section-heading{display:block}.section-heading p{max-width:600px;margin-top:22px}.workflow-steps{grid-template-columns:repeat(3,1fr)}.comparison-grid{grid-template-columns:1fr;gap:32px}.comparison-copy p{max-width:600px}.feature-grid{grid-template-columns:1fr}.feature-item+.feature-item{padding-left:0}.philosophy{grid-template-columns:1fr;gap:30px}.philosophy h2{max-width:100%}.philosophy-rule{margin-top:0}.cta-panel{padding:40px;display:block}.cta-panel .button{margin-top:30px}.footer-top{display:block}.footer-links{margin-top:38px;justify-content:space-between}.content-grid{grid-template-columns:1fr;gap:35px}.side-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:14px 22px;padding-bottom:24px;border-bottom:1px solid var(--line)}.download-grid{grid-template-columns:1fr;gap:40px}.download-aside{max-width:600px}.page-hero{padding:50px 0 40px}}
@media(max-width:480px){.container{width:calc(100% - 40px)}.brand{font-size:1.125rem;gap:10px}.hero h1{font-size:3.15rem}.hero-art{height:350px;margin-top:8px}.photo-main{inset:10px 15px 40px 0;padding:9px 9px 25px}.photo-secondary{height:187px;width:40%;bottom:0}.film-marker{width:60px;height:58px;font-size:1.7rem}.hero-art-caption{font-size:.75rem;bottom:0}.hero-copy>p{font-size:1rem}.hero .actions{gap:10px}.hero .button{padding:14px 18px}.promise-inner{font-size:.875rem;gap:18px 12px}.promise-inner span{gap:8px}.section{padding:60px 0}.section-heading{margin-bottom:28px}.workflow-steps{grid-template-columns:1fr 1fr}.workflow-step:last-child{grid-column:1/-1}.screen-caption{display:block;line-height:1.6}.screen-caption span{display:block}.comparison{aspect-ratio:1.25}.compare-label{font-size:.75rem;top:12px}.compare-label.before{left:10px}.compare-label.after{right:10px}.philosophy h2{font-size:3rem}.cta-panel{padding:30px}.footer-links{gap:26px;grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.download-card{padding:30px 25px}.timeline{padding-left:27px}.timeline-item:before{left:-33px}.press-assets{grid-template-columns:1fr}.camera-table{font-size:.875rem}.empty-release{padding:28px}.notice{padding:22px}.page-hero h1{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Preserve readable wrapping with larger browser text settings. */
h1,h2,h3{overflow-wrap:anywhere}
.nav-links>.button[aria-current=page]{color:#1c1a16}
.hero-note{flex-wrap:wrap;column-gap:12px;row-gap:6px}
.hero-note .note-item{width:auto;height:auto;border-radius:0;background:none;white-space:nowrap}
@media(max-width:480px){.hero-note{font-size:.8125rem;column-gap:9px}.hero-note .note-item:last-child{flex-basis:100%}.hero-note .note-item:nth-last-child(2){display:none}}
.site-header{position:relative;height:auto;min-height:92px}
.nav-inner{min-height:92px;padding-block:14px}
.nav-inner .brand{min-width:0;white-space:normal}
.nav-inner .brand>span{overflow-wrap:anywhere}
.nav-inner .brand img,.menu-toggle{flex-shrink:0}
@media(max-width:800px){.site-header,.nav-inner{min-height:76px}.nav-links{top:100%}}
@media(max-width:480px){.hero-note>span:nth-last-child(2){display:none}}

.sample-scan{margin:0}.sample-scan>img{width:100%;height:auto;border-radius:5px}

/* App screenshots (src/parts.mjs). */
.hero .hero-copy{max-width:900px}
.hero .hero-copy>p{max-width:560px}
.hero-shot{margin:60px 0 0}
.shot{margin:30px 0 34px}
.shot img{width:100%;height:auto}
.shot .screen-caption{padding:14px 18px;border-top:1px solid #48483f;background:#1b1b18}
.shot-narrow{max-width:460px}
.shot-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:55px}
.shot-pair{display:grid;grid-template-columns:.62fr 1fr;gap:20px;align-items:start;margin:30px 0 34px}
.shot-grid .shot,.shot-pair .shot,.comparison-grid .shot{margin:0}
.press-shots{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:28px}
.press-shots .asset-card img{width:100%;height:auto;margin:0 0 20px;border-radius:6px}
.page-hero p .text-link{font-size:inherit}
.button[aria-disabled=true],.button[aria-disabled=true]:hover{background:#2c2c27;color:var(--muted);border-color:var(--line);cursor:default;transform:none}
.requirements dd small{color:var(--muted);font-size:.8125rem}
.fine-print{font-size:.8125rem;line-height:1.5;margin-top:14px}
.roadmap-list{color:var(--muted);line-height:1.7;padding-left:22px;max-width:680px;margin:0}
.roadmap-list li{margin-bottom:12px;padding-left:6px}
.roadmap-list strong{color:var(--ink);font-weight:500}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem;overflow-wrap:anywhere}

/* Keys (shortcuts page and inline). Data: src/data/shortcuts.json. */
kbd{display:inline-block;min-width:1.9em;padding:2px 7px;border:1px solid #4c4c42;border-bottom-width:2px;border-radius:6px;background:#23231e;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;font-size:.875rem;line-height:1.5;text-align:center;white-space:nowrap}
.shortcut-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px;align-content:start}
.shortcut-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px 26px 14px;scroll-margin-top:100px}
.shortcut-group h2{font-size:1.25rem;margin:0 0 12px;letter-spacing:-.02em}
.shortcut-group dl{margin:0}
.shortcut{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:1px solid var(--line)}
.shortcut dt{color:var(--ink);font-size:.9375rem;line-height:1.4}
.shortcut dt small{display:block;color:var(--muted);font-size:.8125rem;margin-top:2px}
.shortcut dd{margin:0;flex-shrink:0}
.shortcut-groups .next-links{grid-column:1/-1}

/* Progressive disclosure: "All …" lists, Getting started tips, known issues. */
.key-points{margin-bottom:6px}
details.more{border:1px solid var(--line);border-radius:var(--radius-card);padding:0 20px;margin:4px 0 24px;background:#1b1b18}
details.more>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;color:var(--accent);font-size:.9375rem;transition:color .2s}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary:before{content:"+";width:1em;color:var(--accent)}
details.more[open]>summary:before{content:"−"}
details.more>summary:hover{color:var(--ink)}
details.more>summary .count{color:var(--muted);font-size:.8125rem}
details.more>ul,details.more>ol,details.more>p{margin-top:0}
details.more[open]{padding-bottom:6px}
.issues{border-top:1px solid var(--line);margin-bottom:18px}
.issues details{border-bottom:1px solid var(--line)}
.issues details[open]{padding-bottom:16px}
.issues summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:1.0625rem;font-weight:500;min-height:28px;padding:16px 0}
.issues details[open] summary{padding-bottom:8px}
.issues summary::-webkit-details-marker{display:none}
.issues summary:after{content:"+";color:var(--accent)}
.issues details[open] summary:after{content:"−"}
.issues details p{margin:4px 32px 0 0;font-size:1rem}
.faq summary,.issues summary{transition:color .2s}
.faq summary:hover,.issues summary:hover{color:var(--accent)}

/* Getting started: five numbered steps joined by a line (Uniform Connectedness). */
.guide{list-style:none;counter-reset:step;padding:0;margin:0 0 40px;border-left:1px solid #555247;margin-left:8px}
.prose .guide>li{counter-increment:step;position:relative;padding:0 0 34px 38px;margin:0}
.guide>li:before{content:counter(step);position:absolute;left:-15px;top:-2px;width:30px;height:30px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-size:.875rem;font-weight:600}
.prose .guide h2{font-size:1.5rem;margin:0 0 10px}
.guide>li>p{margin-bottom:12px}
.steps-compact{color:var(--muted);padding-left:20px;line-height:1.7;margin:0 0 16px}
.steps-compact li{margin-bottom:6px;padding-left:4px}

/* Where next (Peak-End: no dead ends). */
.next-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:45px 0 10px}
.next-card{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-decoration:none!important;transition:border-color .2s,transform .2s}
.next-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.next-card span{color:var(--ink);font-weight:500}
.next-card span:after{content:" →";color:var(--accent)}
.next-card small{color:var(--muted);font-size:.875rem}
.section>.container>.next-links:first-child{margin-top:0;margin-bottom:55px}

/* Download page aside: three blocks, tight inside, generous between (Proximity). */
.download-aside{display:flex;flex-direction:column;gap:34px}
.aside-block .eyebrow{margin-bottom:10px}
.aside-block h3{margin:0 0 12px}
.aside-block p{margin-bottom:12px}
.aside-block details.more{margin:0 0 12px}

/* Press facts and release notes. */
.facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:0 0 20px}
.facts dt{color:var(--muted)}
.facts dd{margin:0;color:var(--ink)}
.release-list{display:grid;gap:28px;max-width:860px}
.release{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:30px 34px}
.release header{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.release header .pill{margin:0}
.release time{color:var(--muted);font-size:.9375rem}
.release .prose h3{font-size:1.125rem}

/* Beta tester quotes: only real ones, used with permission (site.testimonials). */
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:35px}
.quote-card{margin:0;padding:28px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
.quote-card blockquote{margin:0 0 14px}
.quote-card blockquote p{color:var(--ink);margin:0}
.quote-card figcaption{color:var(--muted);font-size:.875rem}

/* Manual (src/manual.mjs): the index in four groups, and task articles with
   every article in the side navigation, grouped (Chunking). On a phone the
   article comes first and the list follows it. A deep link opens the "more"
   it points into (public/site.js). */
.manual-group{margin-bottom:48px}
.manual-group>h2{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 18px}
.manual-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.manual-nav{gap:10px}
.manual-nav .manual-nav-group{font-size:.75rem;margin:14px 0 0}
.manual-nav a[aria-current=page]{color:var(--ink)}
.manual-steps li::marker{color:var(--accent)}
.manual-article [id]{scroll-margin-top:24px}
.manual-applies{margin-top:32px}
@media(max-width:800px){.manual-article .manual-nav{order:2;border-bottom:0;border-top:1px solid var(--line);padding:24px 0 0}.manual-nav .manual-nav-group{flex-basis:100%;margin-top:8px}}

/* Legal pages: one owner line, plain reading width. */
.legal-owner{color:var(--ink)}

/* One-field email signup, shown only when site.signup.enabled is true. */
.signup{margin-top:28px;max-width:560px}
.signup label{display:block;font-size:1.0625rem;margin-bottom:12px}
.signup-row{display:flex;gap:10px;flex-wrap:wrap}
.signup input{flex:1 1 240px;min-height:50px;padding:12px 14px;border-radius:var(--radius-control);border:1px solid #4c4c42;background:var(--surface);color:var(--ink);transition:border-color .2s}
.signup input:focus{border-color:var(--accent)}
.signup-note{font-size:.875rem;margin:12px 0 0}
.signup-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* Lowercase: the site's look (site.lowercase puts class="lowercase" on <html>).
   Only the display changes; the text itself keeps its capitals, for screen
   readers and search. Legal pages, keys and code keep their case. */
html.lowercase body,html.lowercase .eyebrow{text-transform:lowercase}
html.lowercase .keep-case,html.lowercase kbd,html.lowercase code,html.lowercase input,html.lowercase textarea{text-transform:none}
html.lowercase .keep-case .eyebrow{text-transform:uppercase}

@media(max-width:800px){.shot-grid,.press-shots,.shot-pair{grid-template-columns:1fr}
.hero-shot{margin-top:40px}
.shortcut-groups{grid-template-columns:1fr}
.facts{grid-template-columns:1fr;gap:2px}
.facts dd{margin-bottom:10px}
.release{padding:24px 22px}
}

/* Journal (src/journal.mjs): the list, and a post's reading column. */
.journal-list{list-style:none;margin:0;padding:0;max-width:800px;border-top:1px solid var(--line)}
.journal-item{padding:34px 0;border-bottom:1px solid var(--line)}
.journal-item .eyebrow{margin-bottom:12px}
.journal-item h2{font-size:clamp(1.75rem,3vw,2.4rem);margin-bottom:14px}
.journal-item h2 a{transition:color .2s}
.journal-item h2 a:hover{color:var(--accent)}
.journal-post{max-width:720px}
.journal-post p{font-size:1.125rem;line-height:1.75}
.journal-post blockquote{margin:30px 0;padding:4px 0 4px 24px;border-left:2px solid var(--accent)}
.journal-post blockquote p{color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;margin:0}
.journal-figure{margin:36px 0}
.journal-figure img{width:100%;height:auto;border-radius:var(--radius-card);border:1px solid var(--line)}
.journal-figure figcaption{margin-top:10px;font-size:.875rem;color:var(--muted);line-height:1.5}
