.home{--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);position:relative;overflow-x:clip}.home:after{content:"";z-index:50;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.h-block{max-width:var(--page-width);padding:clamp(112px, 15vw, 208px) var(--gutter);margin:0 auto;position:relative}.h-block:before{content:"";top:0;left:var(--gutter);right:var(--gutter);background:linear-gradient(90deg, transparent, var(--line-strong) 20%, var(--line-strong) 80%, transparent);height:1px;position:absolute}.h-head{max-width:46rem;margin-bottom:clamp(48px,6vw,80px)}.eyebrow{font-size:var(--fs-small);color:var(--ink-faint);align-items:center;gap:12px;margin:0 0 20px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--ink-ghost);width:20px;height:1px}.h-section{font-size:var(--fs-display);letter-spacing:normal;text-wrap:balance;font-weight:600;line-height:1.3}.h-section .num{letter-spacing:normal}.h-body{max-width:34em;font-size:var(--fs-body);color:var(--ink-faint);margin:24px 0 0;line-height:1.7}.h-hero{--tx:0;--ty:0;--lx:50%;--ly:40%;max-width:var(--page-width);padding:clamp(56px, 7vw, 104px) var(--gutter) clamp(72px, 9vw, 120px);margin:0 auto;position:relative}.h-hero__glow{z-index:-1;pointer-events:none;background:radial-gradient(40% 36% at var(--lx) calc(var(--ly) + 30%), #ffffff12, transparent 70%), radial-gradient(60% 50% at 50% 100%, #ffffff0a, transparent 70%);position:absolute;inset:-20% -30% -10%}.h-hero__title{font-size:var(--fs-display);letter-spacing:normal;font-weight:600;line-height:1.3}.h-line{margin-bottom:-.14em;padding:.04em 0 .14em;display:block;overflow:hidden}.h-line>span{white-space:nowrap;display:inline-block}@media (prefers-reduced-motion:no-preference){.h-line>span{animation:h-rise 1.2s var(--ease-out) both}.h-line:nth-child(2)>span{animation-delay:.11s}}@keyframes h-rise{0%{transform:translateY(105%)}}.h-hero__title em{font-style:normal}.h-hero__title{color:var(--ink-soft)}.h-understood{color:#fff}.h-hero{text-align:center}.h-hero__side{margin-top:20px}.h-hero__side .h-lede{margin-inline:auto}.h-hero .h-actions{justify-content:center}.h-shelf-wrap{text-align:left;margin-top:clamp(56px,8vw,96px)}.h-lede{max-width:32em;font-size:var(--fs-body);color:var(--ink-soft);margin:0;line-height:1.7}.h-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.h-shelf{perspective:1400px;transform-style:preserve-3d;justify-content:center;align-items:flex-end;gap:clamp(14px,2.6vw,36px);display:flex}.h-shelf__slot{transform-origin:50% 100%;width:clamp(96px,13vw,184px);transform:rotateY(calc(var(--tx) * 9deg + (var(--i) - 1) * -7deg)) rotateX(calc(var(--ty) * -5deg)) translateZ(calc((1 - (var(--i) - 1) * (var(--i) - 1)) * 40px));transition:transform 80ms linear}.h-shelf__slot:first-child{width:clamp(86px,11.8vw,164px)}.h-shelf__slot:nth-child(3){width:clamp(90px,12.3vw,172px)}@media (prefers-reduced-motion:no-preference){.h-shelf__slot{animation:h-settle 1.4s var(--ease-out) backwards;animation-delay:calc(.38s + var(--i) * 90ms)}.h-shelf__slot:nth-child(2){animation-delay:.3s}}@keyframes h-settle{0%{opacity:0;translate:0 64px}}.h-shelf .book{-webkit-box-reflect:below 2px linear-gradient(transparent 68%, #ffffff29)}.h-shelf .book__face:after{content:"";background:radial-gradient(80cqw 80cqw at calc(var(--lx) * 1.6 - 30%) calc(var(--ly) * 1.2), #ffffff29, transparent 60%);mix-blend-mode:soft-light;pointer-events:none;position:absolute;inset:0}.h-shelf__board{background:linear-gradient(90deg,#0000,#ffffff38,#0000);max-width:760px;height:1px;margin:0 auto;box-shadow:0 0 40px 6px #ffffff0a}.t-stage{gap:var(--gap);display:grid}@media (min-width:1000px){.t-stage{grid-template-columns:5fr 7fr;align-items:start}}.t-objective{border-radius:calc(20px * var(--squircle));background:radial-gradient(120% 80% at 0% 0%, #ffffff0b, transparent 60%), var(--recess);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .6s var(--ease-out);padding:28px;position:relative}.t-side{display:contents}.t-objective{order:0}.t-items{order:1}.t-tally{order:2}@media (min-width:1000px){.t-side{top:calc(var(--header-height) + 24px);gap:var(--gap);display:grid;position:sticky}}[data-understood] .t-objective{box-shadow:inset 0 0 0 1px #fff6,0 0 80px #ffffff0f}.t-objective__head{flex-direction:column;gap:4px;display:flex}.t-objective__label{font-size:var(--fs-small);color:var(--ink-faint);align-items:center;gap:8px;display:inline-flex}[data-understood] .t-objective__label:after{content:"分かった";corner-shape:round;background:var(--ink);color:var(--canvas);animation:t-pop .6s var(--ease-out);border-radius:999px;padding:2px 8px;font-weight:600}.t-objective__name{font-size:var(--fs-title);letter-spacing:normal;font-weight:600;line-height:1.35}.t-objective__book{font-size:var(--fs-small);color:var(--ink-ghost)}.t-figure{width:100%;max-width:440px;color:var(--ink);margin-top:24px;display:block;overflow:visible}.t-figure__grid line{stroke:#ffffff0d}.t-figure__axis{stroke:var(--ink-ghost)}.t-figure__axis-label{font-size:var(--fs-small);fill:var(--ink-ghost)}.t-figure__band{transition:opacity .8s var(--ease-out);opacity:.45}[data-understood] .t-figure__band{opacity:1}.t-figure__zone{font-size:var(--fs-small);fill:var(--ink-faint)}.t-figure__zone--flow{fill:var(--ink-soft);letter-spacing:.1em;font-weight:600}.t-figure__dot circle:last-child{fill:var(--canvas);stroke:var(--ink-ghost);stroke-width:1.2px;stroke-dasharray:2 2;transition:fill .4s var(--ease-out), stroke .4s var(--ease-out)}.t-figure__halo{fill:#ffffff1f;transform-box:fill-box;transform-origin:50%;transition:transform .6s var(--ease-out);transform:scale(0)}.t-figure__dot[data-on] circle:last-child{fill:var(--ink);stroke:var(--ink);stroke-dasharray:none}.t-figure__dot[data-on] .t-figure__halo{transform:scale(1)}.t-figure__trace{fill:none;stroke:var(--ink);stroke-width:1px;stroke-dasharray:320;stroke-dashoffset:320px;opacity:.5;animation:t-draw 1.4s var(--ease-in-out) forwards}@keyframes t-draw{to{stroke-dashoffset:0}}.t-items{gap:var(--gap);display:grid}.t-item{border-radius:calc(20px * var(--squircle));background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:24px}.t-item__count{color:var(--ink-faint);align-items:baseline;gap:6px;margin:0 0 10px;display:flex}.t-item__count .num{font-size:var(--fs-small);color:var(--ink)}.t-item__count small{font-size:var(--fs-small)}.t-item__q{font-size:var(--fs-sub);letter-spacing:normal;margin:0;font-weight:600;line-height:1.6}.t-item__choices{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.t-item__choices button{border-radius:calc(12px * var(--squircle));background:var(--recess);width:100%;min-height:52px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;transition:background .2s ease, box-shadow .2s ease, opacity .4s ease, transform .16s var(--ease-out);-webkit-tap-highlight-color:transparent;border:0;align-items:center;gap:14px;padding:10px 16px;display:flex}@media (hover:hover){.t-item__choices button:not([aria-disabled=true]):hover{box-shadow:inset 0 0 0 1px var(--line-strong);background:#1b1c1e}}.t-item__choices button:not([aria-disabled=true]):active{transform:scale(.985)}.t-item__choices button[aria-disabled=true]{cursor:default}.t-item__choices button[data-dim]{opacity:.4}.t-item__choices button[data-verdict=good]{background:var(--good-surface);color:var(--good-ink);animation:t-pop .5s var(--ease-out);box-shadow:inset 0 0 0 1px #6fd79a59}.t-item__choices button[data-verdict=bad]{background:var(--bad-surface);color:var(--bad-ink);animation:t-shake .42s var(--ease-out);box-shadow:inset 0 0 0 1px #ff9a924d}@keyframes t-pop{40%{transform:scale(1.02)}}@keyframes t-shake{20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}@media (prefers-reduced-motion:reduce){.t-item__choices button[data-verdict],[data-understood] .t-objective__label:after{animation:none}}.t-key{width:1.4em;font-size:var(--fs-small);color:var(--ink-ghost);flex:none}[data-verdict] .t-key{color:inherit}.t-text{flex:auto}.t-mark{font-size:var(--fs-small);flex:none;font-weight:600}.t-item__explain{font-size:var(--fs-note);color:var(--ink-soft);line-height:1.8}.t-item__explain:not(:empty){border-radius:calc(12px * var(--squircle));background:var(--recess);animation:t-open .5s var(--ease-out);margin-top:14px;padding:14px 16px}[data-verdict=good] .t-item__explain:not(:empty){background:var(--good-surface)}[data-verdict=bad] .t-item__explain:not(:empty){background:var(--bad-surface)}.t-item__explain p{margin:0}.t-item__explain p:first-child{font-weight:600}[data-verdict=good] .t-item__explain p:first-child{color:var(--good-ink)}[data-verdict=bad] .t-item__explain p:first-child{color:var(--bad-ink)}.t-item__explain .text-button{margin-top:8px}@keyframes t-open{0%{opacity:0;transform:translateY(-6px)}}.t-tally{border-radius:calc(20px * var(--squircle));background:var(--line);box-shadow:inset 0 0 0 1px var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.t-tally__cell{background:var(--recess);transition:background .6s var(--ease-out), color .6s var(--ease-out);padding:20px 24px}.t-tally__cell small{font-size:var(--fs-small);color:var(--ink-faint)}.t-tally__cell p{align-items:baseline;margin:4px 0 0;display:flex}.t-tally__cell b{animation:t-tick .6s var(--ease-out);font-size:clamp(40px,4.4vw,56px);line-height:1;display:inline-block}@keyframes t-tick{0%{opacity:0;transform:translateY(30%)}}.t-of{font-size:var(--fs-sub);color:var(--ink-ghost);margin-left:4px}[data-understood] .t-tally__cell--strong{background:var(--ink);color:var(--canvas)}[data-understood] .t-tally__cell--strong small,[data-understood] .t-tally__cell--strong .t-of{color:#08090a8c}.t-tally__note{background:var(--recess);font-size:var(--fs-note);color:var(--ink-soft);grid-column:1/-1;align-items:center;margin:0;padding:20px 24px;line-height:1.8;display:flex}.t-reset{background:var(--recess);text-align:left;width:100%;font-size:var(--fs-small);grid-column:1/-1;justify-self:start;margin:0;padding:14px 24px}.a-grid{gap:48px;display:grid}@media (min-width:1000px){.a-grid{grid-template-columns:1fr 1.1fr;align-items:center;column-gap:80px}}.a-count{margin-top:clamp(24px,4vh,48px)}.a-count__big{align-items:baseline;margin:0;line-height:.9;display:flex}.a-count__big b{letter-spacing:normal;font-size:clamp(64px,10vw,152px)}.a-count__of{color:var(--ink-ghost);margin-left:8px;font-size:clamp(20px,2vw,28px)}.a-count__label{font-size:var(--fs-small);color:var(--ink-faint);align-items:baseline;gap:12px;margin:12px 0 0;display:flex}.a-count__pct{font-size:var(--fs-small);color:var(--ink)}.a-map{grid-template-columns:repeat(6,1fr);align-self:center;gap:clamp(6px,1vw,12px);display:grid}.a-col{gap:clamp(6px,1vw,12px);display:grid}.a-col__label{font-size:var(--fs-small);color:var(--ink-ghost);padding-bottom:4px}.a-col__label .num{color:var(--ink-faint);margin-right:2px}.a-cell{border-radius:calc(8px * var(--squircle));background:var(--surface);height:clamp(36px,7.5vh,76px);box-shadow:inset 0 0 0 1px var(--line);position:relative;overflow:hidden}.a-cell:after{content:"";transform-origin:50% 100%;transform:scaleY(var(--k));opacity:calc(.25 + var(--k) * .75);background:linear-gradient(#e9ebee,#fff);position:absolute;inset:0}.a-note{font-size:var(--fs-small);color:var(--ink-ghost);margin:16px 0 0}.s-steps{gap:40px var(--gap);margin:0;padding:0;list-style:none;display:grid}@media (min-width:900px){.s-steps{grid-template-columns:repeat(3,1fr)}}.s-steps h3{font-size:var(--fs-sub);align-items:baseline;gap:10px;margin-top:20px;display:flex}.s-steps__n{font-size:var(--fs-note);color:var(--ink-faint)}.s-steps p{font-size:var(--fs-note);color:var(--ink-faint);margin:8px 0 0;line-height:1.7}.h-body a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--ink-ghost);text-decoration-color:var(--ink-ghost);text-underline-offset:3px}.s-stage{border-radius:calc(20px * var(--squircle));background:radial-gradient(100% 70% at 50% 0%, #ffffff0d, transparent 70%), var(--recess);height:340px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.s-scene{flex-direction:column;justify-content:center;gap:8px;height:100%;padding:20px;display:flex}.s-bubble{border-radius:calc(14px * var(--squircle));max-width:88%;font-size:var(--fs-small);margin:0;padding:9px 13px;line-height:1.6}.s-bubble[data-who=me]{background:var(--raised);border-bottom-right-radius:calc(4px * var(--squircle));align-self:flex-end}.s-bubble[data-who=ai]{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-soft);border-bottom-left-radius:calc(4px * var(--squircle));align-self:flex-start}.s-toc{gap:6px;margin:0;padding:0;list-style:none;display:grid}.s-toc li{border-radius:calc(10px * var(--squircle));background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.s-toc__n{font-size:var(--fs-small);color:var(--ink-faint)}.s-toc__name{font-size:var(--fs-small);font-weight:600}.s-toc__kind{corner-shape:round;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-faint);border-radius:999px;padding:1px 8px;font-size:11px}.s-toc__kind[data-kind=覚える]{background:var(--raised);color:var(--ink-soft);box-shadow:none}.s-toc__kind[data-kind=解く]{background:var(--ink);color:var(--canvas);box-shadow:none;font-weight:600}.s-scene--book{align-items:center}.s-book{width:150px}.p-pace{gap:clamp(40px,6vw,72px);display:grid;overflow:hidden}.p-figure{right:calc(var(--gutter) - 6vw);z-index:-1;pointer-events:none;line-height:.8;position:absolute;top:50%;translate:0 -54%}.p-figure .num{color:#0000;-webkit-text-stroke:1px #ffffff1a;background:linear-gradient(#ffffff0f,#0000 70%);-webkit-background-clip:text;background-clip:text;font-size:clamp(320px,52vw,760px);display:block}.p-copy{max-width:40rem}.p-week__days{gap:clamp(6px,1vw,12px);max-width:720px;padding-bottom:28px;display:flex;position:relative}.p-day{aspect-ratio:1;border-radius:calc(clamp(10px, 1.4vw, 16px) * var(--squircle));background:var(--surface);max-width:92px;box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-body);color:var(--ink-faint);flex:1 1 0;place-items:center;display:grid}.p-day[data-answered]{color:var(--canvas);box-shadow:none;background:var(--ink);font-weight:600}.p-day[data-coming]{opacity:.4;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);background:0 0}.p-week__thread{border-radius:calc(1px * var(--squircle));background:linear-gradient(90deg, var(--ink) 80%, #ffffff40);height:2px;position:absolute;bottom:8px;left:0;right:0}.p-week__caption{font-size:var(--fs-small);color:var(--ink-faint);margin:0}.b-row{grid-template-columns:1fr;gap:clamp(32px,4vw,56px);display:grid}@media (min-width:640px){.b-row{grid-template-columns:repeat(3,1fr)}}.b-entry__book{perspective:900px;max-width:220px}@media (max-width:639px){.b-entry{grid-template-columns:112px 1fr;align-items:start;column-gap:20px;display:grid}.b-entry__book{grid-row:span 2}}.b-entry .book{transition:transform .7s var(--ease-out);transform-origin:50% 100%}@media (hover:hover){.b-entry:hover .book{transform:translateY(-10px)rotateX(6deg)}}.b-entry__name{font-size:var(--fs-sub);letter-spacing:normal;margin:24px 0 0;font-weight:600;line-height:1.5}@media (max-width:639px){.b-entry__name{margin-top:4px}}.b-entry__sub{font-size:var(--fs-note);color:var(--ink-faint);margin:6px 0 0}.c-close{padding-bottom:clamp(120px,16vw,220px)}.c-close:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(50% 60% at 30% 60%,#ffffff0d,#0000 70%);position:absolute;inset:20% 0 0}@media (min-width:1000px){.c-close{grid-template-columns:1.6fr 1fr;align-items:center;gap:80px;display:grid}}.c-close__book{display:none}@media (min-width:1000px){.c-close__book{perspective:1000px;justify-self:center;width:min(100%,200px);display:block}.c-close__book .book{-webkit-box-reflect:below 2px linear-gradient(transparent 70%, #ffffff24);transform:rotateY(-18deg)rotateX(4deg)}.c-close__book .book__face{background:#2a2a2b;box-shadow:0 0 120px #ffffff0f}}.c-close__title{word-break:keep-all;font-size:var(--fs-display);letter-spacing:normal;font-weight:600;line-height:1.3}.c-close__body,.c-close__form .signup{margin-top:32px}.h-foot{max-width:var(--page-width);padding:0 var(--gutter);margin:0 auto}@media (min-width:640px){.b-row{align-items:end;position:relative}.b-entry__book{position:relative}.b-entry__book:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);height:1px;position:absolute;bottom:-1px;left:-24px;right:-24px}}
