.opening{height:460vh;position:relative}.stage{align-items:center;height:calc(100svh - 64px);display:flex;position:sticky;top:64px;overflow:hidden}.stage>.wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);width:100%;display:grid}.heads{display:grid}.heads>*{font-size:var(--t-h1);letter-spacing:-.035em;grid-area:1/1;margin-left:-.06em;font-weight:900;line-height:1.08}.h-after{opacity:0}.more .lead{margin-top:var(--sp-4);font-size:var(--t-lead);max-width:30em;line-height:1.9}.more .cta{margin-top:var(--sp-5);align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.more .meta{font-size:var(--t-sm);color:var(--sub);line-height:1.6}.m-more{display:none}.m-more .cta{text-align:center;flex-direction:column;align-items:center}.phone{flex-direction:column;align-items:center;display:flex;position:relative}.voice{width:100%;max-width:380px;min-height:7em;margin-top:var(--sp-3);font-size:var(--t-body);color:var(--sub);line-height:1.7;position:relative}.voice-body{opacity:0}.voice .who{align-items:center;gap:var(--sp-1);font-size:var(--t-sm);color:var(--sub);margin-bottom:var(--sp-1);height:24px;display:flex}.voice .dot{background:var(--rec);opacity:0;border-radius:50%;width:8px;height:8px;transition:opacity .2s}.voice.on .dot{opacity:1;animation:1s step-end infinite blink}.voice .said{color:var(--ink)}.voice .said .fresh{color:var(--sub)}@keyframes blink{50%{opacity:.25}}#heroDevice .status{z-index:10}#heroDevice .island{z-index:11}.editor{z-index:6;background:#fff;position:absolute;inset:0}.ed-bar{color:#007aff;justify-content:space-between;align-items:center;height:44px;padding:0 16px 0 8px;font-size:17px;display:flex;position:absolute;top:54px;left:0;right:0}.ed-bar span{align-items:center;gap:2px;display:flex}.ed-bar svg{width:22px;height:22px}.ed-bar b{font-weight:600}.ed-text{color:#000;white-space:pre-wrap;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,sans-serif;font-size:19px;line-height:1.45;position:absolute;top:112px;left:20px;right:20px}.ed-text .mark{background:#007aff1f}.ed-text .mark.conv{background:#007aff4d}.caret{vertical-align:-4px;background:#007aff;width:2px;height:23px;margin-left:1px;animation:1s step-end infinite caret;display:inline-block}.tray{z-index:7;background:#d1d4da;height:335px;position:absolute;bottom:0;left:0;right:0}.suggest{color:#000;white-space:nowrap;align-items:center;gap:2px;height:44px;padding:0 6px;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,sans-serif;font-size:17px;display:flex;overflow:hidden}.suggest span{border-radius:8px;padding:5px 12px}.suggest span.on{background:#fff;box-shadow:0 1px #0003}.keylayer{width:calc(390px*var(--s));height:calc(844px*var(--s));pointer-events:none;z-index:12;position:absolute;top:10px;left:10px}.key{color:#000;will-change:transform;background:#fff;border-radius:5px;place-items:center;height:42px;font:400 23px/1 -apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;display:grid;position:absolute;box-shadow:0 1px #0000004d}.key.fn{background:#abb0ba}.key.word{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,sans-serif;font-size:16px}.key.bare{box-shadow:none;color:#50555c;background:0 0}.key svg{width:24px;height:24px}.key.down{background:#abb0ba}.key.fn.down{background:#fff}.proof{padding:var(--section) 0;border-top:1px solid var(--line)}.proof-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(40px,7vw,104px);display:grid}.proof h2{font-size:var(--t-h2);letter-spacing:-.025em;font-weight:900;line-height:1.2}.proof .intro{margin-top:var(--sp-3);font-size:var(--t-lead);max-width:26em}.cite{margin-top:var(--sp-3);font-size:var(--t-sm);color:var(--sub);max-width:32em;line-height:1.7}.cite a{text-underline-offset:3px}.race-ask{font-size:var(--t-md);font-weight:700;line-height:1.5}.race-how{margin-top:var(--sp-1);color:var(--sub)}.lanes{margin-top:var(--sp-4);border-top:1px solid var(--line)}.lane{gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);grid-template-columns:80px minmax(0,1fr) 5em;align-items:baseline;display:grid}.lane .who{align-items:center;gap:var(--sp-1);font-size:var(--t-sm);color:var(--sub);align-self:center;font-weight:700;display:flex}.lane .who svg{flex:none;width:18px;height:20px}.lane .slot{flex:none;width:14px;height:14px;position:relative}.lane .rec-dot{background:var(--rec);opacity:0;border-radius:50%;position:absolute;inset:3px}.lane .who .lane-spin{width:14px;height:14px;color:var(--sub);opacity:0;position:absolute;inset:0}.race[data-state=running] .lane.speak.talking .rec-dot{opacity:1;animation:1s step-end infinite blink}.lane.speak.sending .lane-spin{opacity:1;animation:.8s steps(8,end) infinite spin}.lane .text{font-size:var(--t-h3);letter-spacing:-.01em;color:var(--tertiary);font-weight:700;line-height:1.5}.lane .text b{font-weight:inherit;color:var(--ink)}.lane .time{font-size:var(--t-h3);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tertiary);font-weight:700}.race[data-state=running] .lane .time,.race[data-state=done] .lane .time{color:var(--ink)}.lane .time small{font-size:var(--t-sm);color:var(--sub);margin-left:2px;font-weight:400}.race-field{margin-top:var(--sp-3);display:block}.race-field input{width:100%;height:56px;padding:0 var(--sp-2);border:1px solid var(--line);background:var(--surface);font:inherit;font-size:var(--t-body);color:var(--ink);border-radius:10px;transition:border-color .2s,background-color .2s}.race-field input:focus{border-color:var(--ink);background:var(--paper);outline:none}.race-field input::placeholder{color:var(--tertiary)}.race-field input[readonly]{color:var(--sub)}.race-foot{margin-top:var(--sp-2);justify-content:space-between;align-items:baseline;gap:var(--sp-1) var(--sp-3);font-size:var(--t-sm);color:var(--sub);flex-wrap:wrap;line-height:1.7;display:flex}.race-foot button,.race-result .again{font-size:var(--t-sm);text-underline-offset:4px;font-weight:700;text-decoration:underline}.race-foot button{color:var(--sub)}.race-result{margin-top:var(--sp-4)}.race-result .verdict{font-size:var(--t-h3);letter-spacing:-.01em;font-weight:900;line-height:1.5}.race-result .note{margin-top:var(--sp-2);font-size:var(--t-sm);color:var(--sub);max-width:36em;line-height:1.7}.race-result .again{margin-top:var(--sp-2)}.story{padding:var(--section) 0;border-top:1px solid var(--line)}.story h2{font-size:var(--t-h2);letter-spacing:-.025em;max-width:14em;font-weight:900;line-height:1.2}.story-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(40px,8vw,120px);display:grid}.story-head .figure{width:285.2px;height:auto}.story .intro{margin-top:var(--sp-3);max-width:34em;font-size:var(--t-lead);color:var(--ink)}.story-grid{grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(40px,6vw,96px);display:grid}.chapters{flex-direction:column;display:flex}.story-grid{--cs:.68;--pin-h:calc(844px*var(--cs) + 20px);--pin-top:calc(50vh + 32px - var(--pin-h) / 2)}.sticky .device{--s:var(--cs)}.chapter{max-width:32em;height:180vh}.chapter .pin{top:var(--pin-top);height:var(--pin-h);flex-direction:column;justify-content:center;display:flex;position:sticky}.chapter .tag{align-items:center;gap:var(--sp-1);font-size:var(--t-sm);color:var(--sub);font-weight:700;display:flex}.chapter .tag svg{width:20px;height:22px}.chapter .when{align-items:baseline;gap:var(--sp-2);font-size:var(--t-body);color:var(--sub);line-height:1.5;display:flex}.chapter .when time{font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:var(--t-md);color:var(--ink);font-weight:700}.chapter .tag{margin-top:var(--sp-3)}.said-h{margin-top:var(--sp-2);letter-spacing:-.015em;text-indent:-.5em;font-size:clamp(29px,3.2vw,35px);font-weight:900;line-height:1.45}.said-h .v-fresh{color:var(--sub)}.said-h .tight{margin-left:-.5em}.said-h .nb{text-indent:0}.said-h .v-ghost{color:var(--line)}.chapter .explain{margin-top:var(--sp-3);color:var(--sub);opacity:0;line-height:1.95;transition:opacity .4s,transform .4s;transform:translateY(8px)}.chapter .explain b{color:var(--ink);font-weight:700;display:block}.hot,.chapter .explain .hot{color:var(--rec-text)}.chapter.is-done .explain{opacity:1;transform:none}.rail{--tw:44px;--dot:9px;top:var(--pin-top);height:var(--pin-h);padding:var(--sp-7) 0;align-self:start;position:sticky}.rail ol{flex-direction:column;justify-content:space-between;height:100%;list-style:none;display:flex;position:relative}.rail ol:before,.rail ol:after{content:"";left:calc(var(--tw) + var(--sp-2) + var(--dot) / 2 - .5px);background:var(--line);width:1px;position:absolute;top:12px;bottom:12px}.rail ol:after{background:var(--ink);transform-origin:top;transform:scaleY(var(--fill,0))}.rail a{z-index:1;grid-template-columns:var(--tw) var(--dot);align-items:center;gap:var(--sp-2);height:24px;font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:var(--t-sm);color:var(--sub);text-decoration:none;transition:color .2s;display:grid;position:relative}.rail time{text-align:right}.rail i{width:var(--dot);height:var(--dot);background:var(--paper);border:1.5px solid var(--tertiary);border-radius:50%;transition:background-color .2s,border-color .2s}.rail a.reached i{background:var(--ink);border-color:var(--ink)}.rail a.now{color:var(--ink);font-weight:700}.chapter .inline{display:none}.chapter{opacity:.28;transition:opacity .4s}.chapter.active{opacity:1}.sticky{top:var(--pin-top);align-self:start;height:max-content;position:sticky}.sticky .pane,.inline .pane{opacity:0;transition:opacity .45s;position:absolute;inset:0}.sticky .pane.on,.inline .pane{opacity:1}.final{padding:var(--section-lg) 0;text-align:center;background:var(--surface)}.final img{border-radius:22px;width:96px;height:96px;margin:0 auto}.final h2{margin:var(--sp-4) auto 0;font-size:var(--t-h2);letter-spacing:-.025em;font-weight:900;line-height:1.2}.final p{margin-top:var(--sp-2);color:var(--sub)}.final .btn{margin-top:var(--sp-5)}@media (width<=900px){.opening{height:390vh}.stage{padding-top:var(--sp-3);align-items:flex-start}.stage>.wrap{gap:var(--sp-2);grid-template-columns:1fr}.heads>*{font-size:var(--t-h1-narrow)}.stage .more{display:none}.m-more{padding:var(--sp-7) var(--gutter) var(--sp-1);display:block}.phone .voice{margin-top:var(--sp-2)}.device{--s:.7}.story-grid,.proof-grid{grid-template-columns:1fr}.lane{row-gap:var(--sp-1);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who time""text text"}.lane .who{grid-area:who}.lane .time{font-size:var(--t-md);grid-area:time}.lane .text{font-size:var(--t-md);grid-area:text}.story-head{grid-template-columns:1fr}.story-head .figure{justify-self:center;width:200px}.sticky,.rail{display:none}.chapters{padding-left:var(--sp-4);position:relative}.chapters:before{content:"";left:4px;top:calc(var(--sp-7) + 12px);background:var(--line);width:1px;position:absolute;bottom:0}.chapter .when{position:relative}.chapter .when:before{content:"";left:calc(-1 * var(--sp-4));box-sizing:border-box;background:var(--paper);border:1.5px solid var(--tertiary);border-radius:50%;width:9px;height:9px;transition:background-color .2s,border-color .2s;position:absolute;top:calc(50% - 4.5px)}.chapter.is-done .when:before{background:var(--ink);border-color:var(--ink)}.said-h{font-size:var(--t-h3)}.chapter{opacity:1;height:auto;padding:var(--sp-7) 0 var(--sp-1);max-width:none}.chapter .pin{height:auto;display:block;position:static}.chapter .inline{margin-top:var(--sp-5);justify-content:center;display:flex}.chapter .explain{margin-top:var(--sp-2)}}@media (width<=420px){.m-more .lead br{display:none}.device{--s:.66}}@media (width<=360px){:root{--t-h2:24px}}@media (orientation:landscape) and (height<=560px){.stage{align-items:center;padding-top:0}.stage>.wrap{column-gap:var(--sp-5);row-gap:var(--sp-2);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center}.copy{grid-area:1/1;align-self:end}.phone{display:contents}.phone .device{grid-area:1/2/3;align-self:center}.phone .voice{grid-area:2/1;align-self:start;max-width:none;margin-top:0}.heads>*{font-size:clamp(29px,5vw,51px)}.stage .more{display:none}.m-more{padding:var(--sp-7) var(--gutter) var(--sp-1);display:block}}@media (prefers-reduced-motion:reduce){.opening{height:auto}.stage{height:auto;min-height:calc(100svh - 64px);padding:var(--sp-5) 0;position:relative;top:0}}
