@font-face{font-family:ZenMaru;src:url('./assets/ZenMaruGothic-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--ink:#292346;--muted:#625775;--pink:#a52162;--hot:#ee4a9b;--cyan:#147a83;--yellow:#ffe975;--cream:#fff9ed;--line:#ddd0e9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:500 16px/1.85 ZenMaru,system-ui,sans-serif}a{color:var(--pink);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.45}h1{font-size:clamp(2rem,4.4vw,3.8rem);letter-spacing:-.025em}h2{font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.025em}h3{font-size:1.2rem}p{margin-bottom:1.1rem}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.skip{position:absolute;left:10px;top:-90px;z-index:10;background:#fff;padding:12px}.skip:focus{top:10px}.wrap{width:min(1100px,calc(100% - 48px));margin:auto}.site-header{background:#fffdf5;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.1rem}.brand img{width:44px;height:44px;border-radius:13px}.site-nav{display:flex;align-items:center;gap:24px}.site-nav a{font-size:.88rem;min-height:44px;display:flex;align-items:center}.language{border:1px solid var(--line);border-radius:99px;padding:0 14px}.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:30px;padding:52px 0 64px}.hero-copy{padding:18px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font:700 .78rem/1.6 system-ui,sans-serif;color:var(--cyan);margin-bottom:16px}.hero h1 .accent{color:var(--pink)}.lead{font-size:1.13rem;color:var(--muted);max-width:35em}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.chip{border:1px solid #c6dcd6;background:#e4f7f1;color:#286358;padding:3px 12px;border-radius:99px;font-size:.84rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 22px;border:2px solid var(--ink);border-radius:16px;background:var(--yellow);box-shadow:0 4px 0 var(--ink);text-decoration:none;color:var(--ink);font-weight:700;cursor:pointer}.button.secondary{background:#fff}.button:hover{transform:translateY(-1px)}.small{font-size:.88rem;color:var(--muted)}.poster{position:relative;background:radial-gradient(circle at 35% 40%,#fff5ae,#ffe2f0 60%,#e3f7f4);border:2px solid #fff;border-radius:42% 42% 32px 32px;padding:4px 10px;box-shadow:0 16px 48px #ce93ad24}.poster img{width:100%;aspect-ratio:1;object-fit:contain}.ribbon{background:var(--ink);color:#fff;padding:19px 0;font-size:.96rem}.ribbon .wrap{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.ribbon b{color:var(--yellow)}section.content{padding:78px 0}.section-intro{max-width:670px;margin-bottom:36px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:54px}.sample{background:#fff;border:2px solid var(--ink);border-radius:26px;box-shadow:7px 7px 0 #9edbce;padding:24px}.sample-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:22px}.sample-title span{color:var(--pink)}.board{display:grid;grid-template-columns:22px repeat(6,1fr);grid-template-rows:22px repeat(6,30px);padding:8px 0;margin:16px 0 24px;font:600 12px/1 system-ui,sans-serif}.board>div{display:flex;align-items:center;justify-content:center;min-width:0}.board .cell{border-right:2px solid #decbb5;position:relative;background:linear-gradient(transparent 47%,#b3977c 47%,#b3977c 52%,transparent 52%)}.board .cell:nth-child(7n+2){background:linear-gradient(transparent 47%,#b3977c 47%,#b3977c 52%,transparent 52%);border-right:4px solid #806653}.target{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.answers .button{font-size:1.5rem;background:#f5eafb}.answers .button:last-child{background:#e0f7f1}.sample-result{min-height:3.8em;margin:20px 0 0;font-size:.92rem}.step{display:grid;grid-template-columns:56px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:20px 0}.step:first-child{padding-top:0}.step:last-child{border:0}.step-no{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--yellow);border:2px solid var(--ink);border-radius:17px;font:800 22px system-ui,sans-serif}.step h3{margin:2px 0 8px}.step p{margin:0;color:var(--muted)}.pink-section{background:#fde8f1;border-block:1px solid #f0cedd}.hint-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:30px 0}.hint-flow article{background:#fffdf7;border:1px solid #e3cdd9;border-radius:20px;padding:22px 16px}.hint-flow b{color:var(--pink);font-size:1.1rem}.hint-flow h3{margin:10px 0 8px;font-size:1rem}.hint-flow p{font-size:.86rem;color:var(--muted);margin:0}.review-example{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 24px;margin-top:22px}.review-example b{color:var(--cyan)}.mini-mascot{width:min(280px,80%);margin:auto}.privacy-teaser{padding:32px;border:2px solid #c8e3d9;border-radius:24px;background:#e9f8f2}.privacy-teaser ul{margin:0 0 16px;padding-left:1.3em}.footer{border-top:1px solid var(--line);padding:38px 0 24px;background:#fffdf5}.footer-row{display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:20px}.footer a{font-size:.88rem}.footer small{color:var(--muted)}.doc-head{padding:60px 0 34px}.doc-head h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:14px}.document{max-width:790px;padding-bottom:70px}.document h2{font-size:1.45rem;margin:46px 0 16px}.document h3{font-size:1.08rem;margin-top:28px}.document p,.document li{color:#4f4560}.document ol,.document ul{padding-left:1.5em}.document li{margin:10px 0}.notice{background:#fff1c2;border:1px solid #e4d285;border-radius:18px;padding:18px 22px;margin:24px 0}.notice p:last-child{margin-bottom:0}.toc{display:flex;flex-wrap:wrap;gap:10px 20px;padding:16px 0 24px;border-bottom:1px solid var(--line)}.toc a{font-size:.9rem}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:700;min-height:44px;display:list-item;align-content:center}.answer{padding:10px 0 0}.contact{margin-top:42px;padding:26px;border-radius:22px;background:#e7f6f0}.contact h2{margin:0 0 12px}.email{overflow-wrap:anywhere}html:lang(en) body{font-family:system-ui,sans-serif;line-height:1.75}html:lang(en) .hero h1{font-size:clamp(2.4rem,4.8vw,4rem);line-height:1.12}html:lang(en) .hint-flow b{font-size:.98rem}
@media(max-width:800px){.hero{gap:20px}.hint-flow{grid-template-columns:repeat(2,1fr)}.hint-flow article:last-child{grid-column:1/-1}.split{gap:30px}.site-nav{gap:16px}.ribbon .wrap{gap:16px}.hero h1{font-size:2.25rem}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:74px;gap:8px}.brand{font-size:1rem}.brand img{width:36px;height:36px}.site-nav{gap:10px}.site-nav a{font-size:.8rem}.site-nav .nav-home{display:none}.language{padding:0 10px}.hero{grid-template-columns:1fr;padding:26px 0 44px;gap:16px}.hero-copy{padding:8px 0}.hero h1{font-size:2rem;margin-bottom:20px}.lead{font-size:1.02rem}.poster{width:min(400px,100%);margin:auto;order:-1;max-height:340px;border-radius:30px}.poster img{max-height:340px;width:auto;margin:auto}.eyebrow{margin-bottom:12px}.chips{margin:18px 0}.actions{gap:10px}.button{padding:10px 17px}.ribbon{font-size:.83rem;padding:14px 0}.ribbon .wrap{gap:5px 18px}section.content{padding:52px 0}.split{grid-template-columns:1fr;gap:30px}.sample{padding:20px}.hint-flow{gap:10px}.hint-flow article{padding:18px 14px}.privacy-teaser{padding:24px}.footer-row{display:block}.doc-head{padding:40px 0 24px}.document h2{margin-top:36px}.mini-mascot{max-width:200px}.contact{padding:22px}html:lang(en) .hero h1{font-size:2.85rem}.footer-links{gap:12px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}}
/* User-controlled introduction video; reserves its portrait dimensions. */
[hidden]{display:none!important}.intro-video .split{grid-template-columns:1.1fr .9fr}.video-frame{width:min(360px,100%);margin:auto;background:#18384c;border:2px solid var(--ink);border-radius:22px;overflow:hidden;box-shadow:7px 7px 0 #f1b4cf}.video-frame video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}.intro-video [data-intro-play]{margin:8px 0 18px}.intro-video details p{font-size:.9rem;margin-bottom:0}.intro-video [data-video-status]:empty{display:none}video:focus-visible{outline:3px solid var(--cyan);outline-offset:-5px}@media(max-width:600px){.intro-video .split{grid-template-columns:1fr}.video-frame{width:min(320px,100%)}}
.video-download{margin:0;padding:10px 14px;text-align:center;background:var(--cream)}
.video-frame video::cue{font-family:system-ui,sans-serif;font-size:15px;color:#fff;background:rgba(24,56,76,.88)}
