:root{--milk:#faf8f5;--paper:#fffdfa;--ink:#20201f;--muted:#68635f;--coral:#e9bdc6;--rose:#f7e0e2;--line:#dfd8d3;--heading:'Arial',sans-serif;--body:'Verdana',sans-serif;--script:'Brush Script MT','Segoe Script',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--milk);color:var(--ink);font-family:var(--body);line-height:1.65;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid #30302e;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--heading);line-height:1.08;letter-spacing:-.04em}p+p{margin-top:16px}img,video{display:block;max-width:100%;width:100%}video{background:#e9cbd0;border-radius:18px;max-height:580px}ul,ol{padding-left:24px}li{padding-left:4px;margin:10px 0}.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px 20px;border-bottom:1px solid #edbbc5}.brand{font-family:var(--heading);line-height:1;white-space:nowrap}.brand span{display:block;color:#88495a;font-family:var(--script);font-style:italic;line-height:1;margin-left:22px}.header-link{font-family:var(--body);line-height:1.4;text-align:right;max-width:148px;min-height:44px;display:flex;align-items:center;gap:8px}.header-link span{}.hero{padding-top:25px;padding-bottom:48px}.hero-heading{position:relative;padding-bottom:25px;max-width:750px}.hero h1{letter-spacing:-.075em;line-height:.85;font-weight:900}.signature{position:absolute;right:0;bottom:0;font-family:var(--script);font-style:italic;line-height:1;letter-spacing:-.06em;color:#88495a}.hero-sub{line-height:1.6;margin-top:15px;max-width:730px}.hero-collage{height:225px;position:relative;max-width:570px;margin:20px auto}.ribbon{position:absolute;inset:15px 20px 10px;border:18px solid #f4c1cb;border-radius:45% 35% 46% 35%;transform:rotate(-18deg);box-shadow:inset 2px 3px 3px #fff,2px 3px 4px #f0c8cf;opacity:.65}#hero-cards{position:absolute;inset:0}.hero-card{position:absolute;width:39%;height:180px;top:21px;border:1px solid #fff;border-radius:23px;background:linear-gradient(135deg,#fcebe7eF,#ecb5b6ed);box-shadow:0 14px 18px #b96c781c;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 7px 20px}.card-0{left:1%;transform:rotate(-10deg)}.card-1{left:30%;top:0;height:204px;transform:rotate(8deg);z-index:2}.card-2{right:0;top:37px;transform:rotate(12deg);z-index:3}.card-tag{font-family:var(--body);line-height:1.3;background:#fff9;padding:9px 8px;border-radius:30px;text-align:center}.hero-play{font-family:var(--heading);line-height:50px;width:50px;height:50px;border:1px solid var(--ink);border-radius:50%;text-align:center;color:var(--ink)}.card-note{text-align:center;color:#6b5658;line-height:1.3}.translate-chip{position:absolute;bottom:-2px;left:35%;padding:9px 14px;background:#fff0ef;border:1px solid white;border-radius:30px;transform:rotate(-8deg);z-index:4;box-shadow:0 4px 12px #9c66651a}.hero-bottom>p{line-height:1.65}.hero-bottom .hero-meta{color:#88495a;margin-block:19px 16px;font-weight:bold}.button{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-radius:40px;transition:transform .2s,background .2s,box-shadow .2s;font-family:var(--body);line-height:1.4;}.button:active{transform:scale(.98)}.primary{background:var(--coral);color:#211819}.primary span{}.quiet{justify-content:center;background:transparent}.quiet span{}.hero-actions{display:grid;gap:5px}.section-kicker{font-family:var(--body);line-height:1.5;font-weight:600;letter-spacing:.1em}.library{background:#f0d9df;padding:48px 0}.display{position:relative;margin-top:20px;letter-spacing:-.055em;padding-bottom:20px}.small-signature{position:absolute;right:8px;bottom:-4px;font-family:var(--script);font-style:italic;letter-spacing:-.02em;color:#88495a}.lead{line-height:1.45;margin-top:15px}.intro{max-width:610px;margin-top:12px;}.library-grid{display:grid;gap:14px;margin-top:28px}.library-card{border:1px solid #ffffff80;background:var(--paper);border-radius:22px;padding:24px;position:relative;display:flex;flex-direction:column;min-height:260px;transition:background .2s,transform .2s}.card-number{font-family:var(--heading);line-height:.9;color:#88495a;letter-spacing:-.08em;margin-bottom:22px}.library-card h3{max-width:270px;margin-top:10px}.library-card p{margin-top:12px;max-width:330px}.card-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dab6b7;margin-top:22px;padding-top:14px;}.card-cta span{}.guide{padding-block:52px;border-bottom:1px solid var(--line)}.guide:nth-child(even){background:#f3eee9}.guide-heading{display:grid;gap:15px;margin-bottom:30px}.guide-number{font-family:var(--heading);line-height:.9;letter-spacing:-.07em;color:#88495a}.guide h2{margin-top:12px;max-width:800px}.description{max-width:760px;margin-top:20px;}.guide-body{display:grid;gap:30px}.block-heading{font-family:var(--body);line-height:1.5;letter-spacing:.1em;margin-bottom:17px;font-weight:bold}.tabs{display:flex;background:#ebe3df;border-radius:32px;padding:5px;gap:5px;width:max-content;max-width:100%;margin:0 auto 16px}.tabs button{padding:12px 20px;min-height:44px;background:transparent;border-radius:26px;transition:background .2s}.tabs [aria-selected=true]{background:var(--ink);color:white}.video-panel:not([hidden]){animation:fade .25s}.video-panel .placeholder{aspect-ratio:4/3}.placeholder{border:1px solid #d9b7bd;border-radius:20px;background:linear-gradient(130deg,#f7e6e4,#f0d5d7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:160px;padding:24px;text-align:center;color:#694c52;}.placeholder-icon{font-family:var(--heading);line-height:1;font-weight:normal;color:#30302e}.placeholder small{color:#71565c;line-height:1.5}.image.placeholder{background:#efe9e2;border:1px dashed #c6b8b0;aspect-ratio:4/3;color:#71635b}.requirements{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px}.requirements ol{margin-block:0}.requirements li{}.rights{color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.steps{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:58px;padding-block:17px;line-height:1.5}summary::-webkit-details-marker{display:none}.step{border-bottom:1px solid var(--line)}.step-number{color:#88495a;flex:none}.plus{margin-left:auto;flex:none;font-weight:normal;transition:transform .2s}details[open]>summary .plus{transform:rotate(45deg)}.detail-content{padding-bottom:20px}.detail-content p{margin-bottom:16px;color:var(--muted)}.detail-content .placeholder{max-width:540px}.prompt{border:1px solid #d9b5bd;border-radius:22px;padding:23px;background:#f9e9ea;min-width:0}.prompt-top{display:flex;justify-content:space-between;gap:12px}.prompt h4{margin:20px 0 12px}.prompt summary{border-top:1px solid #dec1c6}.open-label{display:none}details[open] .closed-label{display:none}details[open] .open-label{display:inline}.copy{width:100%;background:var(--ink);color:white}.prompts{display:grid;gap:15px}pre{font-family:var(--body);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;overscroll-behavior:contain;tab-size:2;margin:0;padding:15px;background:#fff9;border-radius:12px;user-select:text}.note{border-left:3px solid #cd8494;padding:4px 0 4px 20px;max-width:850px}.note p{line-height:1.8;margin-top:10px;color:var(--muted)}.back-library{min-height:44px;display:inline-flex;align-items:center;justify-self:start}.results-grid,.video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.results-grid .placeholder,.video-gallery .placeholder{padding:14px;min-height:170px;}.video-gallery .placeholder{aspect-ratio:9/14}.video-gallery video{aspect-ratio:9/14;object-fit:contain}.results-grid .placeholder small,.video-gallery .placeholder small{}figcaption{line-height:1.5;margin-top:10px}figcaption span{display:block;color:#88495a;letter-spacing:.06em;margin-bottom:4px}.settings h3{}.settings ul{list-style:'—  ';}.checklist pre{max-height:none;margin-bottom:18px}.author{padding-block:58px;display:grid;gap:30px}.author-photo .placeholder{aspect-ratio:4/5;max-height:500px;background:#ece3dd;border-radius:120px 120px 20px 20px}.author-photo img{border-radius:120px 120px 20px 20px}.author h2{margin:20px 0}.author h2 em{font-family:var(--script);font-weight:normal;color:#88495a}.author p{}footer{background:#242321;color:#faf8f5;padding-block:48px 28px}footer h2{line-height:.9;letter-spacing:-.065em}footer h2 span{color:var(--coral)}.footer-sub{margin-top:22px;color:#efc3cd}.footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:38px;border-block:1px solid #5a5551;padding-block:25px}.footer-row .brand span{color:#efb0c0}.footer-row>span{}.outline{border:1px solid #77706b;}.disclaimer{line-height:1.8;color:#cdc5bf;margin-top:25px;max-width:820px}.toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#222;color:white;padding:14px 20px;border-radius:16px;max-width:calc(100% - 32px);width:max-content;box-shadow:0 4px 20px #0003;z-index:20;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.image-open{display:block;padding:0;background:transparent;width:100%;border-radius:16px;overflow:hidden}.image-open img{object-fit:contain}dialog{border:0;border-radius:20px;padding:28px;max-width:min(920px,94vw);max-height:90dvh;background:var(--milk)}dialog::backdrop{background:#171310b3}dialog img{max-height:72dvh;object-fit:contain}.dialog-close{display:block;margin-left:auto;min-width:44px;min-height:44px;background:transparent}#dialog-caption{margin-top:15px}.skip{position:fixed;left:20px;top:-100px;z-index:50;background:white;padding:14px}.skip:focus{top:10px}.will-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}.will-reveal.visible{opacity:1;transform:none}@keyframes fade{from{opacity:.3}to{opacity:1}}@media(hover:hover){.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0001}.library-card:hover{background:#fffaf4;transform:translateY(-4px)}.header-link:hover,.back-library:hover{color:#88495a}}@media(min-width:700px){body{}.wrap{width:min(1120px,calc(100% - 80px))}.header-link{max-width:none}.header{padding-block:28px}.brand{}.hero{display:grid;grid-template-columns:1.1fr 1fr;column-gap:45px;padding-block:48px 64px}.hero-heading{grid-column:1/-1;max-width:none}.hero h1{line-height:.9}.hero h1 br{display:none}.signature{right:0;bottom:-18px;}.hero-sub{grid-column:1;align-self:end;margin-top:45px;}.hero-collage{grid-column:2;grid-row:2/4;align-self:center;width:100%;height:325px;margin-top:45px}.hero-card{height:245px;top:40px}.card-1{height:285px;top:0}.card-2{top:60px}.card-tag{}.card-note{}.hero-play{width:60px;height:60px;line-height:60px}.translate-chip{bottom:7px;}.hero-bottom{grid-column:1;margin-top:20px}.hero-bottom>p{}.hero-bottom .hero-meta{}.hero-actions{grid-template-columns:1fr 1fr}.button{padding-inline:18px}.library{padding-block:72px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.library-card{padding:30px}.library-card h3{}.small-signature{right:20px}.guide{padding-block:80px}.guide-heading{grid-template-columns:130px 1fr;gap:30px;margin-bottom:44px}.guide-number{}.guide h2{}.guide-body{margin-left:160px;gap:38px}.video-panel .placeholder{aspect-ratio:16/9}.results-grid,.video-gallery{gap:22px}.video-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.video-gallery .placeholder{min-height:200px}.author{grid-template-columns:.8fr 1fr;align-items:center;gap:80px;padding-block:90px}.author h2{}.author-photo .placeholder{min-height:430px}.footer-row{flex-wrap:nowrap}.footer-sub{}footer{padding-block:70px 35px}}@media(max-width:360px){.wrap{width:calc(100% - 32px)}.header-link{}.brand{}.hero h1{}.hero-meta{line-height:1.8}.guide h2{}.results-grid,.video-gallery{gap:10px}.card-tag{}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}

/* Fixed vector arrows: graphite on every platform, never color emoji. */
.arrow-icon{display:inline-block;width:22px;height:22px;min-width:22px;vertical-align:middle;flex-shrink:0;stroke:#30302e}.back-library{gap:8px}footer .outline .arrow-icon{background:var(--milk);border-radius:50%;padding:3px;width:26px;height:26px}

/* Central type scale: sizes vary only by semantic role and viewport. */
:root{
 --text-body:1rem; --text-caption:.875rem; --text-button:1rem;
 --text-section:clamp(2rem,1.35rem + 3vw,3rem);
 --text-subheading:clamp(1.5rem,1.2rem + 1.2vw,2rem);
 --text-hero:clamp(3.5rem,18.5vw,8rem);
 --text-brand:1.25rem; --text-brand-script:1.375rem;
 --text-signature:clamp(2.5rem,11vw,5.3125rem);
 --text-small-script:clamp(1.6875rem,4vw,2.625rem);
 --text-number:clamp(4.375rem,9vw,7rem);
 --text-footer:clamp(3rem,13.7vw,9.25rem);
 --text-icon:1.5rem; --text-play:1.875rem; --text-placeholder:2.5rem;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--text-body);line-height:1.65}
.brand{font-size:var(--text-brand)}.brand span{font-size:var(--text-brand-script)}
.hero h1{font-size:var(--text-hero)}.signature{font-size:var(--text-signature)}
.display,.guide h2,.author h2{font-size:var(--text-section);line-height:1.12}
.library-card h3,.prompt h4,.settings h3{font-size:var(--text-subheading);line-height:1.18}
.hero-sub,.hero-bottom>p,.lead,.intro,.library-card p,.description,.requirements li,.detail-content p,.settings ul,.author p,.footer-sub{font-size:var(--text-body);line-height:1.65}
pre{font-size:var(--text-body);line-height:1.7;min-width:0}
.header-link,.section-kicker,.block-heading,.card-tag,.card-note,.translate-chip,.hero-bottom .hero-meta,.rights,.step-number,.placeholder,.placeholder small,.results-grid .placeholder,.video-gallery .placeholder,.results-grid .placeholder small,.video-gallery .placeholder small,figcaption,figcaption span,.note p,.footer-row>span,.disclaimer,.toast,#dialog-caption{font-size:var(--text-caption);line-height:1.6}
.button,.outline,.tabs button,.card-cta,.back-library,summary{font-size:var(--text-button);line-height:1.5}
.small-signature{font-size:var(--text-small-script)}
.card-number,.guide-number{font-size:var(--text-number)}
footer h2{font-size:var(--text-footer)}
.plus,.dialog-close{font-size:var(--text-icon)}
.hero-play{font-size:var(--text-play);color:var(--ink);border-color:var(--ink)}
.placeholder-icon{font-size:var(--text-placeholder);color:var(--ink)}
.header-link span,.primary span,.quiet span,.card-cta span{font-size:inherit}
.header-link{max-width:180px;min-width:0}.header{gap:16px}.brand{flex-shrink:0}
.hero-heading{padding-bottom:38px}.hero-collage{height:300px;margin-block:26px}
.hero-card{height:248px;padding:10px 8px 16px}.card-1{height:273px}.card-2{top:38px}
.card-tag{padding:7px 5px;line-height:1.35;max-width:100%;background:#fffdfa}
.card-note{line-height:1.4}.translate-chip{left:auto;right:8%;bottom:0;background:var(--paper)}
.hero-card video{min-height:0;flex:1;object-fit:contain}.hero-play{flex-shrink:0}
.display{padding-bottom:46px}.small-signature{bottom:0}
.library-card p{max-width:none}.card-cta{gap:12px;margin-top:auto;padding-top:18px}.library-card p{margin-bottom:24px}
.guide-heading>div,.guide-body,.hero-bottom,.hero-sub,.author>div{min-width:0}
summary>span:not(.step-number):not(.plus){min-width:0;overflow-wrap:anywhere}
.prompt h4{overflow-wrap:anywhere}.copy{height:auto;text-align:left}
.tabs{width:100%}.tabs button{flex:1;padding:12px 8px}
.video-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.video-gallery .placeholder,.results-grid .placeholder{padding:16px 10px;height:auto;min-height:230px;aspect-ratio:auto}
.results-grid .placeholder small,.video-gallery .placeholder small{overflow-wrap:anywhere}
.author-photo .placeholder{max-height:none}.note p{line-height:1.8}
.button:active,.button:hover{transform:none}
.button:active{box-shadow:inset 0 0 0 2px #30302e}
.arrow-icon,.placeholder-icon{color:#30302e}
@media(max-width:360px){.header{gap:12px}.header-link{max-width:132px}.card-tag{padding-inline:3px}.hero-card{padding-inline:5px}.card-note{max-width:100%}.tabs button{padding-inline:6px}}
@media(min-width:700px){:root{--text-brand:1.625rem;--text-hero:clamp(5rem,12.8vw,10.875rem)}.hero-actions{grid-template-columns:1fr}.hero-collage{height:330px}.hero-card{height:260px}.card-1{height:288px}.header-link{max-width:none}.hero-heading{padding-bottom:48px}.signature{bottom:0}.guide-body{margin-left:100px}.guide-heading{grid-template-columns:100px 1fr;gap:24px}.footer-row{flex-wrap:wrap}}
@media(min-width:700px) and (max-width:999px){.hero{display:block}.hero-sub{margin-top:24px}.hero-collage{margin:28px auto;width:100%}.hero-actions{grid-template-columns:1fr 1fr}.author{gap:40px}}
@media(min-width:1000px){.hero-actions{grid-template-columns:1fr 1fr}.guide-body{margin-left:160px}.guide-heading{grid-template-columns:130px 1fr;gap:30px}}
@media(min-width:1200px){.video-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Reserve room for rotated cards at the narrowest viewport. */
#hero-cards{inset:0 16px}.ribbon{inset:25px 32px}
.hero-card{background:linear-gradient(135deg,#f9eceb,#eed8de)}.card-note{color:var(--ink)}
#hero-cards .hero-card:has(video){position:absolute;display:block;padding:5px;overflow:hidden}
#hero-cards .hero-card video{height:100%;min-height:0;object-fit:cover;border-radius:17px;background:var(--paper)}
#hero-cards .hero-card:has(video) .card-tag{position:absolute;z-index:1;top:13px;left:11px;right:11px;background:#fffdfae8}
@media(max-width:699px){
 .hero{display:flex;flex-direction:column}
 .hero-collage{order:-1;width:100%;flex:none}
 #hero-cards .hero-card{top:50%;translate:0 -50%}
}
/* Section 01/02 content additions; existing prompt cards and other sections unchanged. */
:is(#change,#analytics) .updated-step .detail-content{padding:4px 0 24px}
:is(#change,#analytics) .step-prose p,:is(#change,#analytics) .generation-list p{font-size:var(--text-body);line-height:1.65;color:var(--ink);margin-bottom:0}
:is(#change,#analytics) .step-prose,:is(#change,#analytics) .generation-list,:is(#change,#analytics) .step-gallery,:is(#change,#analytics) .adaptation-request,:is(#change,#analytics) .generation-settings,:is(#change,#analytics) .experience-price{margin-block:20px}
:is(#change,#analytics) .step-caption,:is(#change,#analytics) .step-gallery figcaption,:is(#change,#analytics) .step-gallery figcaption p{font-size:var(--text-caption);line-height:1.6;color:var(--muted)}
:is(#change,#analytics) .generation-list{padding-left:26px}
:is(#change,#analytics) .generation-list li{margin-bottom:20px}
:is(#change,#analytics) .generation-list p+p{margin-top:12px}
:is(#change,#analytics) .step-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;align-items:start}
:is(#change,#analytics) .step-gallery figure{min-width:0}
:is(#change,#analytics) .step-gallery figure:only-child{grid-column:1/-1;width:min(100%,240px)}
:is(#change,#analytics) .compact-placeholder{display:flex;align-items:center;justify-content:center;min-height:72px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:var(--paper);font-size:var(--text-caption);line-height:1.5;color:var(--muted);text-align:center}
:is(#change,#analytics) .step-gallery .image-open{background:var(--paper);border:1px solid var(--line);padding:8px;border-radius:12px;height:156px}
:is(#change,#analytics) .step-gallery img{width:100%;height:100%;object-fit:contain}
:is(#change,#analytics) .step-gallery figcaption p{margin-top:6px;margin-bottom:0}
:is(#change,#analytics) .adaptation-request{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);min-width:0}
:is(#change,#analytics) .adaptation-request pre{padding:0;background:transparent;max-height:none;margin-bottom:18px;font-size:var(--text-body);line-height:1.7;user-select:text;-webkit-user-select:text}
:is(#change,#analytics) .request-copy{border:1px solid var(--ink);background:var(--paper);color:var(--ink);width:100%;text-align:left}
:is(#change,#analytics) .generation-settings,:is(#change,#analytics) .experience-price{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:20px}
:is(#change,#analytics) .generation-settings dl{margin:0}
:is(#change,#analytics) .generation-settings dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-block:8px}
:is(#change,#analytics) .generation-settings dd{margin:0;font-weight:600}
:is(#change,#analytics) .experience-price strong{display:block;font-family:var(--heading);font-size:var(--text-subheading);line-height:1.2;margin-block:12px;font-weight:600}
:is(#change,#analytics) .experience-price p{font-size:var(--text-body);color:var(--ink)}
:is(#change,#analytics) .experience-price .step-caption{font-size:var(--text-caption);color:var(--muted);margin-top:12px}
:is(#change,#analytics) .step-toggle{margin-left:auto;font-size:var(--text-icon);flex:none;line-height:1;color:var(--ink)}
:is(#change,#analytics) .when-open{display:none}
:is(#change,#analytics) details[open]>summary .when-open{display:inline}
:is(#change,#analytics) details[open]>summary .when-closed{display:none}
#analytics .results-grid .placeholder.image{min-height:90px;aspect-ratio:auto;padding:12px}
#analytics .results-grid .placeholder-icon{display:none}
#analytics .results-grid .image-open{height:156px;background:var(--paper);border:1px solid var(--line);padding:8px}
#analytics .results-grid img{height:100%;object-fit:contain}
@media(min-width:700px){:is(#change,#analytics) .step-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Section 03: source and result comparison. */
#angles .angle-flow{font-size:var(--text-caption);color:var(--muted);margin:0 0 14px}
#angles .video-gallery figure{min-width:0}
#angles .updated-step .detail-content{padding:4px 0 24px}
#angles .step-prose{margin-block:20px}
#angles .step-prose p{font-size:var(--text-body);line-height:1.65;color:var(--ink);margin-bottom:0}
#angles .step-toggle{margin-left:auto;font-size:var(--text-icon);flex:none;line-height:1;color:var(--ink)}
#angles .when-open{display:none}
#angles details[open]>summary .when-open{display:inline}
#angles details[open]>summary .when-closed{display:none}
@media(min-width:1000px){#angles .video-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Local posters and a single, centred launch control for every player. */
.video-player{position:relative;min-width:0;width:100%;border-radius:18px;isolation:isolate;overflow:hidden}
.video-player video{height:auto;display:block;width:100%}
.video-start{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 3px 15px #20201f20;transition:background .25s,box-shadow .25s}
.video-start[hidden]{display:none}
.video-start:active{background:var(--rose)}
.video-start:focus-visible{outline-offset:-5px}
.video-player video:not([controls])::-webkit-media-controls{display:none!important}
.video-player video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
#hero-cards .video-player{height:100%;border-radius:17px}
#hero-cards .hero-card video{height:100%;width:100%;object-fit:cover}
#hero-cards .card-tag{pointer-events:none}
#author-photo .image-open,#author-photo img{border-radius:24px}
#author-photo img{width:100%;height:auto;object-fit:contain}
/* One restrained motion rhythm, without changing document geometry. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-duration:700ms}
.will-reveal{transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}
#author>div:last-child.will-reveal{transition-delay:120ms}
.button,.header-link,.back-library{transition:color .3s,background .3s,transform .3s var(--motion-ease),box-shadow .3s}
.arrow-icon{transition:transform .35s var(--motion-ease)}
details{transition:height 580ms var(--motion-ease)}
details.is-expanding>.detail-content{animation:content-enter 580ms var(--motion-ease) both}
details.is-collapsing>.detail-content{opacity:0;transition:opacity .25s}
@keyframes content-enter{from{opacity:0}to{opacity:1}}
@keyframes editorial-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-enter{from{opacity:0;transform:translateY(16px) rotate(var(--card-angle))}to{opacity:1;transform:translateY(0) rotate(var(--card-angle))}}
@media(prefers-reduced-motion:no-preference){
 .header .brand,.hero-heading h1{animation:editorial-enter 800ms var(--motion-ease) both}
 .hero-heading .signature{animation:editorial-enter 800ms var(--motion-ease) 140ms both}
 .hero-sub{animation:editorial-enter 800ms var(--motion-ease) 380ms both}
 .hero-bottom{animation:editorial-enter 800ms var(--motion-ease) 460ms both}
 .hero-card{animation:card-enter 800ms var(--motion-ease) both;transition:scale .5s var(--motion-ease),translate .5s var(--motion-ease)}
 .card-0{--card-angle:-10deg;animation-delay:180ms}
 .card-1{--card-angle:8deg;animation-delay:280ms}
 .card-2{--card-angle:12deg;animation-delay:380ms}
}
@media(hover:hover) and (pointer:fine){
 .button:hover .arrow-icon,.header-link:hover .arrow-icon,.back-library:hover .arrow-icon{transform:translateY(-2px)}
 .video-start:hover{background:var(--rose);box-shadow:0 5px 18px #20201f30}
}
@media(min-width:700px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #hero-cards .hero-card:hover{scale:1.025;translate:0 -5px}
}
@media(prefers-reduced-motion:reduce){
 details,.will-reveal,.arrow-icon,.hero-card{transition:none!important;animation:none!important}
 .will-reveal{opacity:1;transform:none}
}
