@font-face{font-family:"Zen Maru Gothic";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/ZenMaruGothic-Regular.woff2") format("woff2")}@font-face{font-family:"Zen Maru Gothic";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/ZenMaruGothic-Medium.woff2") format("woff2")}@font-face{font-family:"Klee One";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/KleeOne-Regular.woff2") format("woff2")}:root{--paper:#faf7f0;--ink:#493d47;--muted:#6c606a;--lavender:#786284;--line:#ddd3d5;--blush:#f1e4e5;--soft:#eee8f0;--white:#fffdfa;--serif:"Klee One","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Zen Maru Gothic","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.9;letter-spacing:.035em}body::before{position:fixed;inset:0;z-index:-1;content:"";pointer-events:none;background:radial-gradient(ellipse at 90% 10%,#e9e0ed55,transparent 45%),radial-gradient(ellipse at 5% 90%,#f0dcd733,transparent 45%)}a{color:inherit}button,textarea{font:inherit;color:inherit}button{cursor:pointer;letter-spacing:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #786284;outline-offset:5px}button{touch-action:manipulation}.site-header{max-width:1160px;margin:auto;padding:24px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.site-header a{display:flex}.logo{width:264px;height:auto;mix-blend-mode:multiply}.edition{font-size:12px;letter-spacing:.15em}.edition span{margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}main{min-height:70vh;outline:none}.site-footer{max-width:1160px;margin:50px auto 0;padding:26px 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.site-footer span:first-child{letter-spacing:.16em}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.65;overflow-wrap:anywhere}.eyebrow{font-size:12px;letter-spacing:.19em;color:var(--muted);margin-bottom:24px}.eyebrow::before{content:"";display:inline-block;width:25px;border-top:1px solid var(--lavender);vertical-align:middle;margin-right:12px}.hero{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:66px 36px 30px;gap:10px}.hero h1{font-size:clamp(44px,5.5vw,68px);letter-spacing:.1em;line-height:1.45;margin-bottom:24px}.hero h1 small{font-family:var(--sans);display:block;font-size:14px;letter-spacing:.24em;margin-top:18px}.hero .intro{font-family:var(--serif);font-size:19px;line-height:2.1;max-width:410px}.hero-art{position:relative}.hero-art img{width:100%;height:auto;mix-blend-mode:multiply;transform:rotate(-5deg)}.hero-art .caption{font-family:var(--serif);font-size:13px;text-align:center;letter-spacing:.14em;color:var(--muted);margin:6px 0 0}.primary{border:1px solid var(--lavender);background:var(--lavender);color:white;border-radius:3px;padding:15px 24px;font-weight:500;line-height:1.6;display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:54px;transition:background .2s,transform .2s}.primary:not(:disabled):hover{background:#655071;transform:translateY(-1px)}.primary .arrow{font-size:20px}.meta{color:var(--muted);font-size:12px;margin:12px 0 0}.home-info{max-width:1008px;margin:20px auto 0;padding:0 36px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:30px}.step span{font-family:var(--serif);color:var(--lavender);font-size:14px}.step p{margin:3px 0 0;font-size:14px}.notice{font-size:13px;color:var(--muted);padding:23px 0;max-width:760px}.notice p{margin-bottom:8px}.notice details{margin-top:12px}.notice summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.journey{max-width:770px;margin:42px auto 0;padding:0 28px}.progress-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:13px;gap:15px}.chapter-track{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:35px}.chapter-track span{height:3px;background:var(--line)}.chapter-track .active{background:var(--lavender)}.chapter-name{font-family:var(--serif);font-size:16px;margin:0 0 7px}.question-card{background:var(--white);padding:36px 42px;border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 30px #493d4705}.q-number{font-family:var(--serif);font-size:13px;color:var(--lavender);letter-spacing:.13em;margin-bottom:13px}.question-card h1{font-size:26px;margin-bottom:25px;letter-spacing:.04em}.options{border:0;padding:0;margin:0;min-width:0}.options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.option{position:relative;display:flex;align-items:flex-start;gap:14px;border:1px solid #ded6dc;border-radius:3px;padding:14px 17px;margin-bottom:11px;cursor:pointer;font-size:15px;line-height:1.8;background:#fffefa;transition:background .15s,border-color .15s}.option:hover{background:#f6f1f6}.option:has(input:checked){background:var(--soft);border-color:var(--lavender)}.option:has(input:focus-visible){outline:3px solid var(--lavender);outline-offset:3px}.option input{accent-color:var(--lavender);margin:7px 0 0;width:17px;height:17px;flex-shrink:0}.option .letter{font-family:var(--serif);font-size:13px;color:var(--lavender);margin-top:1px}.option.unknown{font-size:13px;color:var(--muted);border-style:dashed;background:transparent}.question-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.text-button{border:0;background:transparent;padding:10px 3px;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:5px}.sub-nav{display:flex;justify-content:space-between;gap:15px;margin-top:12px}.sub-nav button{font-size:12px}.reflection{max-width:760px;margin:48px auto;padding:0 28px}.reflection-inner{position:relative;background:var(--white);border:1px solid var(--line);padding:44px 48px;border-radius:3px}.stamp{position:absolute;width:75px;height:auto;right:28px;top:22px;transform:rotate(8deg);mix-blend-mode:multiply}.reflection h1{font-size:30px;padding-right:55px;margin-bottom:22px}.ref-copy{font-family:var(--serif);font-size:19px;line-height:2.1}.word-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.word-chips span{background:var(--soft);border:1px solid var(--line);padding:5px 13px;font-size:13px;border-radius:2px}.fine{font-size:12px;color:var(--muted)}.answer-list{font-size:13px;border-top:1px solid var(--line);padding:17px 0 0;margin:20px 0}.answer-list summary{cursor:pointer}.answer-list ol{padding-left:23px}.answer-list li{margin:15px 0}.answer-list strong{display:block;font-weight:500}.answer-list .edit-answer{font-size:12px;margin-top:3px}.reflection-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.letter-page{max-width:830px;margin:45px auto 0;padding:0 28px}.letter-intro{text-align:center;margin-bottom:26px}.letter-intro h1{font-size:32px;margin-bottom:10px}.letter-intro p{font-size:13px;color:var(--muted)}.letter-paper{background:var(--white);border:1px solid var(--line);padding:48px 56px;position:relative;box-shadow:3px 6px 0 #eee6df;overflow-wrap:anywhere}.letter-paper>.stamp{width:65px;top:32px;right:32px}.date{font-size:12px;color:var(--muted);letter-spacing:.12em;margin-bottom:24px}.letter-paper h2{font-size:26px;margin:18px 0 25px;padding-right:35px}.letter-opening,.letter-closing{font-family:var(--serif);font-size:17px;line-height:2.1}.mirror-section{margin:29px 0;padding-top:19px;border-top:1px solid var(--line)}.mirror-section h3{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--muted);margin-bottom:9px}.mirror-section .mirror-word{font-family:var(--serif);font-size:22px;margin-bottom:9px}.mirror-section .mirror-text{font-family:var(--serif);font-size:16px;line-height:2.1;margin-bottom:0}.takeaway{background:#f0eaf1;padding:25px 28px;margin:30px 0;border-left:2px solid var(--lavender)}.takeaway h3{font-family:var(--sans);font-size:12px;letter-spacing:.12em;margin-bottom:12px}.takeaway p{font-family:var(--serif);font-size:21px;line-height:1.9;margin:0}.letter-sign{font-size:12px;text-align:right;letter-spacing:.15em;margin:24px 0 0}.own-note{margin-top:30px}.own-note label{display:block;font-size:14px;margin-bottom:8px}.own-note textarea{display:block;width:100%;resize:vertical;min-height:105px;padding:16px;border:1px solid var(--line);border-radius:2px;background:var(--white);font-size:16px;line-height:1.8}.own-note .fine{margin-top:6px}.save-area{padding:28px 0}.save-area h2{font-size:21px;margin-bottom:8px}.save-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.secondary{background:transparent;border:1px solid var(--lavender);border-radius:3px;padding:12px 20px;line-height:1.8;min-height:48px}.secondary:hover{background:var(--soft)}.bottom-actions{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:18px}.status{font-size:13px;min-height:25px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:4px;max-width:470px;width:calc(100% - 38px);padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#32213770}.dialog-body{padding:35px}.dialog-body h2{font-size:25px}.dialog-body p:not(.eyebrow){font-size:14px}.dialog-body button{width:100%;margin-top:10px}.skip-link{position:absolute;left:15px;top:-100px;background:var(--white);z-index:9;padding:8px 15px}.skip-link:focus{top:10px}.noscript{padding:30px}#main>*{animation:appear .3s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:650px){.site-header{padding:17px 20px}.logo{width:200px}.edition{font-size:10px}.edition span{display:block;margin:0;padding:0;border:0}.hero{padding:38px 27px 20px;grid-template-columns:1fr;gap:10px}.hero h1{font-size:49px}.hero .intro{font-size:17px;max-width:100%}.hero-art{width:80%;max-width:340px;margin:5px auto 0}.hero-art .caption{font-size:13px}.hero .primary{width:100%}.hero .eyebrow{margin-bottom:20px}.home-info{padding:0 27px}.steps{gap:15px}.step p{font-size:12px;line-height:1.9}.step span{font-size:12px}.notice{font-size:12px}.site-footer{margin-top:25px;padding:22px 23px;font-size:10px;gap:12px}.journey{margin-top:25px;padding:0 18px}.chapter-track{margin-bottom:24px}.question-card{padding:25px 20px}.question-card h1{font-size:22px}.option{padding:13px 12px;font-size:14px;gap:10px}.question-nav .primary{font-size:14px;padding:13px 18px;gap:15px}.reflection{margin-top:25px;padding:0 18px}.reflection-inner{padding:29px 23px}.reflection h1{font-size:25px}.stamp{width:53px;right:17px;top:19px}.ref-copy{font-size:17px}.reflection-actions{align-items:stretch;flex-direction:column-reverse}.reflection-actions .primary{width:100%}.letter-page{padding:0 16px;margin-top:30px}.letter-paper{padding:32px 24px}.letter-paper>.stamp{width:48px;right:16px;top:23px}.letter-intro h1{font-size:26px}.letter-paper h2{font-size:24px}.letter-opening,.letter-closing{font-size:16px}.takeaway{padding:20px}.takeaway p{font-size:19px}.mirror-section .mirror-word{font-size:21px}.save-buttons>*{flex:1 1 160px}.bottom-actions{gap:10px}.dialog-body{padding:27px}}@media print{.site-header,.site-footer,.letter-intro,.own-note,.save-area,.bottom-actions,.skip-link,dialog{display:none!important}.letter-page{max-width:none;margin:0;padding:0}.letter-paper{border:0;box-shadow:none;padding:15px}.letter-paper .stamp{width:50px}.mirror-section,.takeaway{break-inside:avoid}body{background:white;font-size:12px}.mirror-section .mirror-text,.letter-opening,.letter-closing{font-size:13px}}
h1,h2,h3{font-weight:400}.font-credit{font-size:10px;color:var(--muted);text-align:center;margin:15px 20px 25px}.font-credit a{text-underline-offset:3px}/* Series entrance and edition shelf */
.header-shelf{border:0;background:transparent;font-size:13px;white-space:nowrap;padding:12px 0 12px 15px;color:var(--ink)}.header-shelf span{margin-left:12px;color:var(--lavender)}.logo{width:310px}.primary{text-decoration:none}.series-hero{padding-top:55px;padding-bottom:45px;gap:25px}.series-hero h1{font-size:clamp(48px,6vw,70px);line-height:1.42;letter-spacing:.05em;margin-bottom:23px}.title-dot{color:#9c7f9b}.series-hero .intro{font-size:19px}.series-hero .hero-art img{transform:rotate(-4deg)}.letter-shelf{max-width:1008px;margin:10px auto 46px;padding:0 36px;scroll-margin-top:30px}.shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.shelf-heading .eyebrow{margin-bottom:10px}.shelf-heading h2{font-size:29px;margin:0}.shelf-heading>p{font-size:12px;color:var(--muted);margin:0 0 5px}.edition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px}.edition-grid:has(.edition-card:only-child){grid-template-columns:minmax(0,760px)}.edition-card{position:relative;border:1px solid #d7cbdc;background:linear-gradient(140deg,#fffcfa,#f5eff7);padding:29px 120px 26px 32px;border-radius:5px;box-shadow:0 5px 16px #57405b05}.edition-card-head{display:flex;align-items:center;gap:15px;margin-bottom:16px}.issue-no{font-size:11px;letter-spacing:.16em;color:var(--muted)}.edition-tag{font-size:11px;padding:2px 10px;border-radius:30px;background:#e8deed;color:#624e6e}.edition-card h3{font-size:31px;margin-bottom:10px}.edition-tagline{font-family:var(--serif);font-size:18px;line-height:1.95;margin:0 0 13px}.edition-description{font-size:13px;line-height:1.95;color:var(--muted);margin-bottom:20px}.edition-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #ddd2e1;padding-top:15px}.edition-card-bottom>span{font-size:11px;color:var(--muted)}.shelf-button{border:0;background:transparent;color:#67506f;font-size:14px;padding:8px 0;white-space:nowrap}.shelf-button span{margin-left:14px}.shelf-button:hover{text-decoration:underline;text-underline-offset:6px}.shelf-stamp{position:absolute;width:63px;height:auto;right:28px;top:43px;transform:rotate(9deg);mix-blend-mode:multiply;pointer-events:none}.shelf-note{font-size:12px;color:var(--muted);margin:18px 0 0}.edition-hero{padding-top:30px;padding-bottom:28px}.edition-hero #back-shelf{margin-bottom:20px}.edition-hero .eyebrow{margin-bottom:18px}.edition-hero h1{font-size:54px;margin-bottom:15px}.edition-hero .intro{font-size:21px;margin-bottom:14px}.edition-lead{font-size:14px;color:var(--muted);max-width:430px;margin-bottom:23px}.edition-chapters{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-block:1px solid var(--line);padding:19px 0;font-size:12px}.edition-chapters small{display:block;font-family:var(--serif);font-size:13px;color:var(--lavender);margin-bottom:3px}.journey .progress-head{flex-wrap:wrap}
@media(max-width:650px){.logo{width:218px}.site-header{gap:10px;padding:15px 18px}.header-shelf{font-size:11px;padding-left:0}.header-shelf span{margin-left:5px}.series-hero{padding:35px 27px 26px;gap:4px}.series-hero h1{font-size:49px}.series-hero .intro{font-size:17px}.series-hero .hero-art{width:78%;max-width:290px;margin-top:8px}.series-hero .hero-art .caption{font-size:13px}.letter-shelf{padding:0 23px;margin-bottom:30px}.shelf-heading{display:block;margin-bottom:20px}.shelf-heading h2{font-size:25px}.shelf-heading>p{margin-top:10px}.edition-card{padding:24px 24px 20px}.edition-card-head{margin-bottom:12px}.edition-card h3{font-size:28px;padding-right:50px}.edition-tagline{font-size:17px;padding-right:25px}.shelf-stamp{width:45px;right:16px;top:41px}.edition-description{font-size:13px}.edition-card-bottom{gap:10px;flex-wrap:wrap}.edition-card-bottom>span{font-size:11px}.shelf-button{font-size:14px}.shelf-note{font-size:11px}.edition-hero{padding-top:23px}.edition-hero h1{font-size:43px}.edition-hero .intro{font-size:19px}.edition-chapters{grid-template-columns:repeat(2,1fr);gap:13px}.edition-lead{font-size:14px}}
@media(max-width:360px){.logo{width:187px}.header-shelf{font-size:10px}.header-shelf span{display:none}}