/* Landing-only presentation; shared palette tokens keep all three themes usable. */
#landing{--demo-accent:var(--green);--demo-warm:#b27342;--demo-warm-bg:#f5ebde;--demo-grid:#315e480c}
#landing .hero{max-width:1312px;grid-template-columns:.92fr 1.08fr;gap:56px;padding:72px 40px 76px;align-items:center}
#landing .hero-copy{min-width:0}
#landing .eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:600;color:var(--green)}
#landing .hero-copy>.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:28px}
#landing .intro-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
#landing .hero-question{font-size:19px;color:var(--muted);margin-bottom:14px}
#landing .hero h1{font-size:clamp(38px,4.1vw,58px);line-height:1.3;font-weight:650;letter-spacing:-2px;margin-bottom:26px}
#landing .hero h1 em{display:block;font-style:normal;color:var(--green)}
#landing .lead{font-size:16px;line-height:2;color:var(--muted)}
#landing .hero-actions{gap:20px;flex-wrap:wrap;margin:30px 0 22px}
#landing .hero-actions a{font-size:12px;color:var(--muted)}
#landing .hero-actions a[href="#demo"]{display:none}
#landing .hero-actions .primary{font-size:14px;padding:14px 20px}
#landing .hero-definition{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);margin:0}
#landing .hero-definition>span:nth-child(2){color:var(--gold)}
#landing .action-demo{min-width:0;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 22px 60px #203b3310;overflow:hidden;scroll-margin-top:24px}
#landing .demo-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:17px 22px;font-size:11px;color:var(--muted)}
#landing .demo-topline>span:first-child{display:flex;align-items:center;gap:7px}
#landing .demo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px 14px}
#landing .demo-heading h2{font-size:15px;line-height:1.6;letter-spacing:0;margin:0;font-weight:600}
#landing .demo-canvas{position:relative;min-height:408px;margin:0 12px;padding:22px 14px 14px;background:radial-gradient(circle,var(--demo-grid) 1px,transparent 1px) 0 0/16px 16px;border-radius:10px}
#landing .demo-root{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:auto;padding:14px 22px;background:var(--green);color:var(--paper);border-radius:12px;box-shadow:0 5px 14px #203b3312;transition:transform .45s ease,box-shadow .45s ease}
#landing .root-icon{width:28px;height:28px;flex-shrink:0;opacity:.8}
#landing .demo-root small{display:block;font-size:9px;letter-spacing:1px;opacity:.75;margin-bottom:3px}
#landing .demo-root strong{font-size:15px;font-weight:550}
#landing #demo-root-check{font-size:24px;animation:checkpoint-pop .45s ease}
#landing .thought-cloud{position:absolute;inset:126px 14px auto;height:132px;pointer-events:none}
#landing .thought-cloud span{position:absolute;font-size:12px;padding:8px 14px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:var(--paper);animation:thought-drift 5s ease-in-out infinite alternate}
#landing .thought-cloud span:nth-child(1){left:0;top:0;transform:rotate(-6deg)}
#landing .thought-cloud span:nth-child(2){right:0;top:4px;animation-delay:-2s;transform:rotate(6deg)}
#landing .thought-cloud span:nth-child(3){left:28%;top:61px;animation-delay:-3s}
#landing #demo-start-area{text-align:center;padding-top:160px;animation:node-appear .45s ease}
#landing #demo-start-area p{font-size:12px;color:var(--muted);margin-bottom:12px}
#landing .demo-split{background:var(--soft);color:var(--green);font-weight:600;font-size:12px;border:1px solid var(--line);padding:10px 16px;border-radius:9px;box-shadow:none}
#landing .demo-split:hover{border-color:var(--green);background:var(--paper)}
#landing .demo-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:30px}
#landing .demo-branches:before{content:"";position:absolute;top:0;left:16.66%;right:16.66%;height:16px;border-bottom:1px solid var(--line);background:linear-gradient(var(--line),var(--line)) center/1px 100% no-repeat}
#landing .demo-branch{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:10px 8px;text-align:center;animation:node-appear .5s both}
#landing .demo-branch:nth-child(2){animation-delay:.12s}
#landing .demo-branch:nth-child(3){animation-delay:.24s}
#landing .demo-branch:before{content:"";position:absolute;left:50%;top:-15px;height:14px;border-left:1px solid var(--line)}
#landing .branch-number{display:block;color:var(--muted);font-size:9px;letter-spacing:1px;margin-bottom:4px}
#landing .demo-branch strong{font-size:11px;font-weight:600;display:block}
#landing .branch-state{display:block;font-size:9px;color:var(--muted);margin-top:5px}
#landing .focus-branch{border-color:var(--demo-warm);background:var(--demo-warm-bg)}
#landing .focus-branch .branch-state{color:var(--demo-warm)}
#landing .demo-refine{padding-top:28px;text-align:center;animation:node-appear .5s both}
#landing .demo-refine p{font-size:11px;color:var(--muted);margin:12px 0 0}
#landing .demo-checkpoints{position:relative;margin:20px 5px 0;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 12px;animation:node-appear .5s both}
#landing .demo-checkpoints:before{content:"";position:absolute;height:20px;top:-21px;left:50%;border-left:1px solid var(--green)}
#landing .checkpoint-heading{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px;margin-bottom:9px}
#landing .checkpoint{display:flex;position:relative;align-items:center;gap:9px;margin:0;padding:8px 0;color:var(--ink);font-size:11px;cursor:pointer;border-top:1px solid var(--line)}
#landing .checkpoint input{position:absolute;left:0;top:50%;width:18px;height:18px;margin:-9px 0 0;opacity:0;cursor:pointer}
#landing .checkpoint input:focus-visible+.checkpoint-box{outline:2px solid var(--green);outline-offset:3px}
#landing .checkpoint-box{width:17px;height:17px;flex-shrink:0;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;color:var(--paper);font-size:11px;transition:background .2s,border-color .2s}
#landing .checkpoint input:checked+.checkpoint-box{background:var(--green);border-color:var(--green);animation:checkpoint-pop .35s ease}
#landing .checkpoint input:checked+.checkpoint-box:after{content:"✓"}
#landing .checkpoint input:checked~span:not(.checkpoint-box){color:var(--muted);text-decoration:line-through}
#landing .checkpoint small{display:block;font-size:9px;color:var(--muted);margin-top:1px}
#landing .checkpoint-tag{margin-left:auto;font-size:9px;background:var(--soft);color:var(--green);border-radius:4px;padding:3px 5px;white-space:nowrap}
#landing .remaining-checkpoints{display:flex;flex-wrap:wrap;gap:6px 14px;border-top:1px dashed var(--line);padding-top:8px;margin-top:4px}
#landing .remaining-checkpoints label{display:flex;align-items:center;gap:5px;margin:0;font-size:9px;cursor:pointer}
#landing .remaining-checkpoints input{width:12px;height:12px;margin:0;accent-color:var(--green)}
#landing .demo-insight{font-size:11px;color:var(--muted);text-align:center;margin-top:19px;min-height:18px}
#landing .demo-progress{padding:16px 24px 8px}
#landing .demo-progress>div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-bottom:7px}
#landing .demo-progress strong{font-size:11px;color:var(--green);font-variant-numeric:tabular-nums}
#landing progress{display:block;width:100%;height:5px;border:0;border-radius:5px;background:var(--soft);overflow:hidden;appearance:none}
#landing progress::-webkit-progress-bar{background:var(--soft);border-radius:5px}
#landing progress::-webkit-progress-value{background:var(--green);border-radius:5px;transition:width .45s ease}
#landing progress::-moz-progress-bar{background:var(--green);border-radius:5px}
#landing .demo-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px 20px 0}
#landing .demo-stages button{background:transparent;border:0;border-radius:6px;font-size:10px;padding:8px 3px;color:var(--muted);white-space:nowrap;box-shadow:none;font-weight:400}
#landing .demo-stages button span{font-size:9px;opacity:.65;margin-right:2px}
#landing .demo-stages button[aria-pressed="true"]{color:var(--green);background:var(--soft);font-weight:600}
#landing .demo-footnote{text-align:center;color:var(--muted);font-size:9px;margin:10px 12px 13px}
#landing .demo-branch.is-done{border-color:var(--green);background:var(--soft)}
#landing .demo-branch.is-done .branch-number:after{content:" ✓";color:var(--green)}
#landing .action-demo[data-complete="true"] .demo-root{box-shadow:0 0 0 5px var(--soft);transform:scale(1.025)}
#landing .action-demo[data-complete="true"] .demo-insight{color:var(--green);font-weight:600}
#landing .landing-bridge{max-width:1176px;margin:auto;padding:42px 24px 58px;text-align:center;border-top:1px solid var(--line)}
#landing .landing-bridge>p{font-size:14px;color:var(--muted);margin-bottom:8px}
#landing .landing-bridge h2{font-size:26px;font-weight:550;margin-bottom:23px}
#landing .landing-bridge>div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
#landing .landing-bridge>div>span{padding:5px 15px;border-radius:30px;border:1px solid var(--line);font-size:11px;color:var(--muted)}
#landing .landing-how{padding:65px 0}
#landing .section-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
#landing .section-intro h2{font-size:32px;font-weight:550;margin:0}
#landing .section-intro>p{color:var(--muted);font-size:13px;margin:0 0 4px;line-height:1.9}
#landing .journey-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:40px}
#landing .journey-features article{border-top:2px solid var(--line);padding-top:20px;min-width:0}
#landing .journey-features article:nth-child(3){border-color:var(--gold)}
#landing .journey-features article:nth-child(4){border-color:var(--green)}
#landing .journey-number{font-size:10px;color:var(--gold);letter-spacing:1px}
#landing .journey-features h3{font-size:17px;font-weight:600;letter-spacing:0;margin:15px 0 12px}
#landing .journey-features p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:18px}
#landing .feature-example{color:var(--green);font-size:10px;line-height:1.8;border-radius:6px;background:var(--soft);padding:10px}
#landing .landing-perspective{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:64px;max-width:1176px;margin:0 auto 60px;border-top:1px solid var(--line);padding:64px 40px 12px}
#landing .landing-perspective h2{font-size:30px;font-weight:550}
#landing .landing-perspective p:last-child{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:0}
#landing .perspective-mark{display:flex;align-items:center;justify-content:center}
#landing .perspective-mark span{display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);width:76px;height:76px;border-radius:50%;font-size:14px;flex-shrink:0}
#landing .perspective-mark i{height:1px;background:var(--line);width:36px}
#landing .perspective-mark span:nth-of-type(2){border-color:var(--gold);background:var(--demo-warm-bg)}
#landing .perspective-mark span:last-child{background:var(--green);border-color:var(--green);color:var(--paper);font-size:26px}
#landing .platforms{grid-template-columns:1.2fr .8fr;gap:64px;border:1px solid var(--line);box-shadow:none;background:var(--soft);padding:46px}
#landing .platforms h2{font-size:30px;font-weight:550}
#landing .platforms .eyebrow{font-size:10px}
#landing .platforms .primary{font-size:13px;margin-top:10px}
#landing .platform-details{border-left:1px solid var(--line);padding-left:32px}
#landing .platform-details h3{font-size:13px;font-weight:600;margin:3px 0 8px}
#landing .platform-details p{font-size:12px;line-height:1.9;margin-bottom:22px}
#landing .platform-details p:last-child{margin-bottom:0}
#landing footer{font-size:11px}
html[data-palette="dark"] #landing{--demo-warm:#e5b97c;--demo-warm-bg:#332d24;--demo-grid:#ffffff0c}
html[data-palette="dark"] #landing .demo-root,html[data-palette="dark"] #landing .checkpoint-box,html[data-palette="dark"] #landing .perspective-mark span:last-child{color:#172b22}
html[data-palette="vivid"] #landing{--demo-warm:#a34b00;--demo-warm-bg:#fff2db;--demo-grid:#5546e80d}
@keyframes node-appear{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes checkpoint-pop{0%{transform:scale(.75)}65%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes thought-drift{from{translate:0 -3px}to{translate:0 3px}}
@media(min-width:1500px){#landing .hero{padding-top:88px;padding-bottom:88px}}
@media(max-width:1200px){#landing .hero{gap:32px;padding-left:32px;padding-right:32px}#landing .landing-how,#landing .landing-bridge,#landing .landing-perspective{margin-left:32px;margin-right:32px}#landing .hero h1{font-size:46px}#landing .journey-features{gap:20px}}
@media(max-width:960px){#landing .hero-actions a[href="#demo"]{display:inline-block}#landing .hero{grid-template-columns:1fr;padding:48px 32px;max-width:760px}#landing .hero-copy{text-align:center}#landing .hero-copy>.eyebrow,#landing .hero-actions,#landing .hero-definition{justify-content:center}#landing .hero h1{font-size:50px}#landing .hero h1 em{display:inline}#landing .hero-actions{margin-top:24px}#landing .action-demo{width:100%;max-width:570px;justify-self:center}#landing .journey-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}#landing .section-intro{align-items:flex-start;flex-direction:column;gap:16px}#landing .landing-perspective{gap:32px;padding-left:0;padding-right:0}#landing .platforms{gap:28px;padding:32px}#landing .platforms h2{font-size:27px}}
@media(max-width:600px){#landing .hero{padding:36px 20px 44px;gap:32px}#landing .hero-copy>.eyebrow{margin-bottom:20px;font-size:10px}#landing .hero-question{font-size:15px}#landing .hero h1{font-size:38px;letter-spacing:-1.6px;margin-bottom:18px}#landing .lead{font-size:14px}#landing .hero-actions{gap:16px;flex-direction:column}#landing .hero-definition{font-size:10px;gap:6px}#landing .demo-topline{padding:13px 14px;font-size:10px}#landing .demo-heading{padding:15px 14px 8px}#landing .demo-heading h2{font-size:12px}#landing .demo-canvas{margin:0 6px;padding:18px 7px 12px;min-height:408px}#landing .demo-root{padding:12px 17px}#landing .demo-root strong{font-size:13px}#landing .demo-branches{gap:7px}#landing .demo-branch{padding:10px 3px}#landing .demo-branch strong{font-size:10px}#landing .branch-state{font-size:8px}#landing .demo-checkpoints{margin-left:0;margin-right:0;padding:10px}#landing .checkpoint-heading{font-size:8px}#landing .checkpoint-tag{font-size:8px}#landing .checkpoint{gap:7px;font-size:10px}#landing .checkpoint small{font-size:8px}#landing .demo-progress{padding:12px 16px 5px}#landing .demo-stages{padding:10px 10px 0;gap:3px}#landing .demo-stages button{font-size:9px}#landing .thought-cloud span{font-size:10px;padding:8px 10px}#landing .demo-insight{font-size:10px}#landing .landing-bridge,#landing .landing-how,#landing .landing-perspective{margin-left:20px;margin-right:20px}#landing .landing-bridge{padding:32px 0 38px}#landing .landing-bridge h2{font-size:22px}#landing .landing-bridge>p{font-size:12px}#landing .landing-bridge>div>span{padding:4px 11px;font-size:10px}#landing .landing-how{padding:38px 0}#landing .section-intro h2{font-size:27px}#landing .journey-features{gap:26px 18px;margin-top:28px}#landing .journey-features h3{font-size:14px}#landing .journey-features p{font-size:12px}#landing .feature-example{font-size:9px;padding:8px}#landing .landing-perspective{grid-template-columns:1fr;gap:28px;text-align:center;padding:38px 0 0;margin-bottom:38px}#landing .landing-perspective h2{font-size:26px}#landing .landing-perspective p:last-child{font-size:12px}#landing .platforms{grid-template-columns:1fr;gap:28px;margin:0 20px 32px;padding:26px 22px}#landing .platforms h2{font-size:25px}#landing .platform-details{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}#landing footer{margin:0 20px;font-size:10px;flex-wrap:wrap;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}#landing *,#landing *:before,#landing *:after{animation:none!important;transition:none!important}}

#download-dialog{background:var(--paper);max-height:85vh;overflow:auto}
#download-dialog h2{font-size:24px}
#download-dialog>p{color:var(--muted)}
.download-options{border:1px solid var(--line);border-radius:10px;padding:0 16px;margin:24px 0}
.download-options p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:15px 0;font-size:13px}
.download-options p+p{border-top:1px solid var(--line)}
.download-options span{color:var(--muted)}
