/* Amidasu / an editorial presentation, composed on a 1920 × 1080 canvas. */
:root{--ink:#171715;--text:#171715;--text-muted:#4b4b46;--paper:#fffefa;--surface:#f6f5f0;--hairline:#d6d6ce;--accent:#F3982D;--accent-ink:#171715;--grad:linear-gradient(110deg,#F3982D 0%,#F3982D 40%,#E63828 70%,#F3982D 100%);--r:16px;--font:"Hiragino Sans","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--mono:"SF Mono",Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--font);word-break:auto-phrase;line-break:strict;overflow-wrap:normal;-webkit-font-smoothing:antialiased}
#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--s,1));transform-origin:center}
.slide{position:absolute;inset:0;padding:100px 110px 140px;display:none;flex-direction:column;justify-content:center;background:var(--paper);isolation:isolate}
.slide.active{display:flex}.slide::before{content:"";position:absolute;left:110px;right:110px;top:54px;height:2px;background:var(--hairline)}
.slide::after{content:"";position:absolute;left:110px;bottom:65px;width:72px;height:7px;background:var(--accent)}
.slide.center{align-items:center;text-align:center}.logo{position:absolute;right:110px;bottom:49px;width:164px;height:auto;object-fit:contain}
.kicker{font-size:34px;line-height:1.4;font-weight:650;letter-spacing:.035em;margin-bottom:38px;display:flex;align-items:center;gap:20px}.kicker::before{content:"";width:34px;height:4px;background:var(--accent);flex:none}
h1,h2,h3{font-weight:800;letter-spacing:-.045em;text-wrap:balance}h1{font-size:106px;line-height:1.38}h2{font-size:86px;line-height:1.4}h3{font-size:62px;line-height:1.45;margin-bottom:44px}.grad{background:var(--grad);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shimmer 10s ease-in-out infinite}.muted,.note{color:var(--text-muted)}.note{font-size:32px;line-height:1.6;margin-top:34px}.nw{white-space:nowrap}code{font:400 40px/1.4 var(--mono);background:var(--surface);padding:8px 16px;border-radius:var(--r);border:1px solid var(--hairline)}
.list{list-style:none;font-size:44px!important;line-height:1.55}.list li{position:relative;padding:18px 0 18px 48px}.list li::before{content:"";position:absolute;left:0;top:48px;width:22px;height:3px;background:var(--accent)}.list li b{font-weight:750}.list li.plain{padding-left:0}.list li.plain::before{display:none}.list.tight li{padding-top:10px;padding-bottom:10px}.list.tight li::before{top:40px}.row{display:flex;gap:64px;align-items:stretch}.photo{object-fit:cover;border-radius:var(--r)}.shot{display:block;max-width:100%;max-height:710px;object-fit:contain;border:1px solid var(--hairline);border-radius:var(--r)}
.tag{font-size:34px;font-weight:600;letter-spacing:.055em;display:flex;align-items:center;gap:22px}.tag::before{content:"";width:64px;height:5px;background:var(--accent)}
.cover{align-items:flex-start!important;text-align:left!important;padding-left:150px}.cover::before{left:150px}.cover::after{left:150px}.cover h1{font-size:112px}.cover .list{margin-top:32px!important;font-size:42px!important}.cover .note{margin-top:30px}.cover:after{width:240px}.cover .tag{margin-top:24px}
.profile .row{gap:56px!important}.profile .photo{width:460px!important;height:630px!important;object-position:50% 40%}.profile h2{font-size:72px;white-space:nowrap}.profile h2 .muted{display:block;font-size:34px!important;margin-top:12px;letter-spacing:.025em}.profile .kicker{margin-bottom:28px}.profile .list{font-size:40px!important}.profile .list li{padding-top:7px;padding-bottom:7px;white-space:nowrap}.profile .list li::before{top:36px}
.revolution .row{gap:58px!important}.revolution h1{font-size:80px!important;line-height:1.48}.revolution .photo{width:600px!important;height:650px;object-position:center}.revolution .list{font-size:40px!important}
.comparison .row{gap:100px}.card{flex:1;padding:45px 0 35px;border-top:2px solid var(--ink)}.card.hi{border-top:7px solid var(--accent);padding-top:40px}.card h4{font-size:76px;letter-spacing:-.035em;margin-bottom:45px}.card ul{list-style:none;font-size:40px;line-height:1.6}.card li{padding:24px 0;border-bottom:1px solid var(--hairline);white-space:nowrap}.card.hi h4{color:var(--ink)}
.setup>.list:first-of-type,.lessons>.list:first-of-type{border-top:1px solid var(--hairline)}.setup>.list:first-of-type>li,.lessons>.list:first-of-type>li{border-bottom:1px solid var(--hairline);padding:26px 0 26px 48px;white-space:nowrap}.setup>.list:first-of-type>li:before,.lessons>.list:first-of-type>li:before{top:58px}.setup>.list:last-of-type,.lessons>.list:last-of-type{padding-left:48px}.setup .list{font-size:43px!important}
.chapter{align-items:flex-start!important;text-align:left!important;padding-left:180px;justify-content:center}.chapter .num{font-size:280px;font-weight:800;letter-spacing:-.08em;line-height:1;margin-bottom:58px}.chapter h2{font-size:88px;line-height:1.5;letter-spacing:-.04em}.chapter::before{top:0;bottom:0;left:auto;right:135px;width:1px;height:auto;background:linear-gradient(transparent,var(--hairline) 22%,var(--hairline) 78%,transparent)}.chapter::after{left:180px;width:160px}
.flow{display:flex;align-items:stretch;margin:20px 0 0;gap:0}.node{flex:1;min-width:0;padding:28px 10px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;border-top:2px solid var(--hairline);border-bottom:2px solid var(--hairline);position:relative}.node.hi{border-top:4px solid var(--accent);padding-top:26px;background:linear-gradient(180deg,#fff5e8,rgba(255,245,232,0))}.node .ic{height:94px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}.ic svg{width:78px;height:78px;color:var(--ink);stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.node b{font-size:38px;line-height:1.45;white-space:nowrap}.node>span{font-size:32px;line-height:1.6;color:var(--text-muted);margin-top:18px}.arrow{width:64px;flex:none;align-self:center;height:32px;margin-top:-48px}.arrow svg{width:100%;height:32px;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.voice .node b{font-size:34px}.process .list{font-size:42px!important}.process h3{margin-bottom:30px}.process .kicker{margin-bottom:26px}.process .list li{padding-top:12px;padding-bottom:12px}.process .list li:before{top:44px}.process .list{margin-top:32px!important}
.lessons .kicker{margin-bottom:44px}.lessons>.list:last-of-type{font-size:62px!important;margin-top:55px!important}
.amazon .row{gap:54px!important}.amazon .list{font-size:40px!important}.amazon .list li{padding-left:38px;padding-top:15px;padding-bottom:15px}.amazon .list li:before{top:45px;width:18px}.amazon .shot{width:690px!important;margin:0;max-height:720px}.amazon .kicker{margin-bottom:32px}
.interlude{background:var(--paper)}.interlude h1{font-size:164px!important;letter-spacing:-.065em}.interlude:after{width:160px;left:calc(50% - 80px);bottom:290px}
.keys{display:flex;gap:100px;justify-content:center;align-items:center;margin:28px 0 38px!important}.keycap{width:340px;height:232px;background:var(--surface);border:2px solid var(--hairline);border-bottom:9px solid #c7c7bc;border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:108px;font-weight:700;line-height:1.1;box-shadow:0 12px 0 #e9e8e0}.keycap small{font-size:32px;font-weight:500;margin-top:18px;color:var(--text-muted)}.keycap.ja{border-color:var(--accent);background:#fff5e8}.sync{font-size:90px;font-weight:400}.sync.ok{position:relative}.sync.ok:after{content:"";position:absolute;bottom:-12px;left:0;right:0;height:5px;background:var(--accent)}.ime h3{margin-bottom:20px}.ime .list{font-size:44px!important}.ime .list li{padding-top:12px;padding-bottom:12px}.ime .list li:before{top:46px}.solution .kicker{margin-bottom:20px}.solution .keys{margin-bottom:40px!important}
.closing h1{font-size:90px;line-height:1.55;letter-spacing:-.055em}.closing .list{font-size:44px!important}.closing .kicker{margin-bottom:50px}
.resources .kicker{font-size:42px;margin-bottom:46px}.qrwrap{display:flex;gap:110px;align-items:center;justify-content:center}.qrwrap .list{font-size:44px!important}.qrwrap .list li{padding-top:22px;padding-bottom:22px}.qrwrap .list li:before{top:55px}#qr{background:white;padding:24px;border:1px solid var(--hairline);border-radius:var(--r);width:520px;height:520px;display:flex;align-items:center;justify-content:center}#qr img,#qr canvas{width:472px;height:472px;image-rendering:pixelated}#qrurl{font-size:32px;letter-spacing:0}.resources>.note:last-of-type{margin-top:18px}
.f{opacity:0;transform:translateY(18px);filter:blur(5px);transition:opacity .5s ease,transform .65s cubic-bezier(.2,.8,.2,1),filter .5s ease}.f.on{opacity:1;transform:none;filter:blur(0)}.slide.active h1,.slide.active h2,.slide.active h3{animation:blurin .85s cubic-bezier(.2,.7,.2,1) both}.slide.active .kicker,.slide.active .tag{animation:rise .6s both}.slide.active .list>li:not(.f),.slide.active .card li{animation:rise .65s both;animation-delay:calc(.15s + var(--i,0)*.07s)}.slide.active .num{animation:pop 1s cubic-bezier(.2,.95,.25,1.2) both,shimmer 10s ease-in-out infinite}.slide.active .photo{animation:kenburns 16s ease-out both}.slide.active .shot{animation:rise .8s .2s both}.arrow.f{transform:none;filter:none}.arrow path{stroke-dasharray:90;stroke-dashoffset:90;transition:stroke-dashoffset .75s ease}.arrow.on path{stroke-dashoffset:0}.keycap.f.on{animation:press .65s .3s ease both}.slide.active .logo{animation:rise .6s both}
@keyframes blurin{from{opacity:0;transform:translateY(22px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pop{from{opacity:0;transform:translateY(35px) scale(.8)}to{opacity:1;transform:none}}@keyframes shimmer{0%,100%{background-position:0% 0}50%{background-position:100% 0}}@keyframes kenburns{from{clip-path:inset(0 round var(--r));transform:scale(1.025)}to{clip-path:inset(0 round var(--r));transform:scale(1)}}@keyframes press{0%,100%{translate:0 0;box-shadow:0 12px 0 #e9e8e0}45%{translate:0 10px;box-shadow:0 2px 0 #e9e8e0}}
#hud{position:fixed;left:0;right:0;bottom:0;min-height:52px;display:flex;align-items:center;gap:24px;padding:8px 20px;font:16px/1.4 var(--mono);color:#fff;background:#171715;opacity:0;transition:opacity .3s;z-index:9;pointer-events:none}body.hud #hud{opacity:1;pointer-events:auto}#hud .warn{color:var(--accent)}#bar{position:fixed;left:0;bottom:0;height:5px;background:var(--accent);width:0;transition:width .4s;z-index:10}#fsbtn{position:fixed;right:20px;top:16px;z-index:20;padding:13px 20px;border-radius:var(--r);border:2px solid var(--accent);background:var(--paper);color:var(--ink);font:700 16px/1.2 var(--font);cursor:pointer}#fsbtn:hover{background:#fff5e8}#fsbtn:focus-visible{outline:3px solid var(--ink);outline-offset:4px}:fullscreen #fsbtn,:-webkit-full-screen #fsbtn{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.f{transform:none;filter:none}}
/* Keep every projected word dark; the brand gradient is a shallow underline. */
.grad{color:var(--ink);-webkit-text-fill-color:var(--ink);background-clip:padding-box;-webkit-background-clip:padding-box;background-size:220% 8px;background-position:0% 100%;background-repeat:no-repeat;padding-bottom:7px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.chapter .num{background-size:220% 10px;padding-bottom:20px;margin-bottom:38px}
@keyframes shimmer{0%,100%{background-position:0% 100%}50%{background-position:100% 100%}}
.list li{white-space:nowrap}
h1,h2,h3{white-space:nowrap}
.revolution .photo{object-position:left center}
/* Four- and five-step diagrams reserve space for all revealed notes. */
.process .kicker{margin-bottom:20px}
.process h3{font-size:58px;line-height:1.4;margin-bottom:20px}
.process .flow{margin-top:10px}
.process .node{padding:20px 10px 22px}
.process .node.hi{padding-top:18px}
.process .node .ic{height:64px;margin-bottom:16px}
.process .ic svg{width:64px;height:64px}
.process .node>span{line-height:1.45;margin-top:12px}
.process .list{margin-top:24px!important;font-size:40px!important;line-height:1.5}
.process .list li{padding-top:8px;padding-bottom:8px}
.process .list li:before{top:36px}

.list.compact{font-size:38px!important}.list.compact li::before{top:38px}

.list.wrapok li{white-space:normal}
