@charset "UTF-8";
:root{--cream:#f7f5ee;--cream-2:#f0f0e6;--white:#fffefa;--ink:#293e35;--ink-soft:#4f6257;--sage:#a8c2ae;--sage-deep:#748d79;--pale:#dfebe0;--peach:#efe1d1;--line:#dfe4db;--muted:#68756d;--danger:#a64a47;--shadow:0 22px 60px rgba(32,54,40,.08);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Noto Sans CJK JP",Meiryo,sans-serif;font-synthesis:none;scroll-behavior:smooth;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,summary,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.35}p{line-height:1.98}h1{font-size:clamp(2.5rem,5vw,4.75rem)}h2{font-size:clamp(1.7rem,3vw,2.7rem)}h3{font-size:1.22rem}img,svg{max-width:100%}svg.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}::selection{background:#c9dfcd;color:#253e31}a:focus-visible,button:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #83a891;outline-offset:4px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.skip{position:absolute;left:1rem;top:-10rem;background:#fff;z-index:1000;padding:12px}.skip:focus{top:1rem}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.wrap-narrow{width:min(750px,calc(100% - 40px));margin:auto}.small{font-size:.88rem}.muted{color:var(--muted)}.align-center{text-align:center}.icon{display:inline-block}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#6c8877;font-size:.76rem;font-weight:800;letter-spacing:.06em;line-height:1.5}.eyebrow-dot{width:7px;height:7px;background:#7b9c83;border-radius:50%}.eyebrow-light{color:#d1dfd1}.lead{font-size:1.06rem;color:var(--ink-soft);line-height:2.05}.topbar{height:84px;position:sticky;top:0;z-index:50;background:rgba(247,245,238,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(64,88,70,.08)}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:1.18rem;font-weight:850;letter-spacing:.05em}.brand-mark{font-size:2.1rem;font-weight:500;line-height:1;color:#658d71;position:relative;top:-2px}.brand-en{font-size:.6rem;letter-spacing:.04em;color:#899a8d;font-weight:650;margin-left:6px}.nav-desktop{display:flex;align-items:center;gap:22px}.nav-desktop a{font-size:.86rem;font-weight:700;color:#53675b;transition:color .18s;white-space:nowrap}.nav-desktop a:hover,.nav-desktop [aria-current]{color:#1f4733}.nav-toggle{display:none;border:0;background:transparent;padding:10px}.nav-mobile{display:none}.footer{background:#273e34;color:#eff5ec;padding-top:68px}.footer-layout{display:flex;justify-content:space-between;gap:40px}.footer-brand{font-size:1.15rem}.footer p{font-size:.88rem;color:#d7e1d6;margin-top:15px}.footer p.muted{color:#b5c5b8;max-width:470px}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:14px 42px;align-content:start}.footer-links a{font-size:.86rem;color:#dce7db}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding:30px 0;margin-top:65px;border-top:1px solid #4b6555;color:#bacbbb;font-size:.73rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:53px;padding:12px 23px;border-radius:100px;font-weight:800;font-size:.91rem;border:1px solid transparent;transition:transform .2s,background .2s,box-shadow .2s;text-align:center;line-height:1.5}.btn:hover{transform:translateY(-2px)}.btn svg{width:18px}.btn-primary{color:#fff;background:#2f493d;box-shadow:0 10px 25px #2f493d1c}.btn-primary:hover{background:#496e55}.btn-outline{color:#294d39;background:transparent;border-color:#8aa291}.btn-outline:hover{background:#edf4ea}.btn-quiet{background:transparent;color:#40594a}.btn-quiet:hover{background:#e9eee6}.btn-cream{background:#f2f0e4;color:#294437}.btn-danger{background:#9c433f;color:#fff}.plain-btn{border:0;background:none;color:#556b5c;font-size:.88rem;font-weight:700;padding:10px 4px}.plain-btn:hover{text-decoration:underline}.inline-link,.text-link{font-size:.89rem;color:#426e50;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#96b99f;font-weight:750}.center-action{display:flex;justify-content:center;margin-top:42px}.section{padding:110px 0}.section-tiny{padding-top:40px;padding-bottom:95px}.section-warm{background:#eeeFE5}.section-dark{background:#2c493d;color:white}.section-cta{background:#e5eae0}.section-heading{margin-bottom:44px}.section-heading h2{margin:13px 0 13px;max-width:720px}.section-heading p{max-width:680px;color:var(--muted)}.hero{overflow:hidden;padding:90px 0 105px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.hero-copy h1{line-height:1.32;font-size:clamp(2.55rem,4.55vw,4.45rem);letter-spacing:-.055em;margin:28px 0 25px}.hero-title-small{display:block;font-size:clamp(2.05rem,3.65vw,3.55rem);font-weight:650;margin-top:13px;letter-spacing:-.065em}.hero-lead{font-size:1.01rem;line-height:2.15;color:#607164;max-width:555px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:35px}.hero-actions .btn-primary{padding-left:28px;padding-right:28px}.trust-row{display:flex;flex-wrap:wrap;gap:15px 22px;color:#536b5b;font-size:.8rem;margin-top:34px;font-weight:730}.trust-row span{display:inline-flex;gap:7px;align-items:center}.trust-row svg{width:18px;height:18px}.hero-mini-note{margin-top:20px;font-size:.76rem;line-height:1.8;color:#8b978b}.hero-art{height:545px;position:relative;display:grid;place-items:center}.hero-art:before{content:"";position:absolute;inset:2% 0 0 0;border-radius:50%;background:radial-gradient(circle,#e4ecdf 0%,#f2f3e9 59%,transparent 72%)}.hero-art-paper{position:absolute;background:var(--white);border:1px solid #e5e9df;border-radius:8px;box-shadow:0 30px 65px rgba(55,75,53,.1)}.paper-back{width:380px;height:460px;transform:rotate(10deg) translate(35px,-4px);background:#d8e6d5}.paper-front{width:405px;height:472px;transform:rotate(-5deg);overflow:hidden;padding:30px}.tiny-label{letter-spacing:.06em;font-size:.62rem;font-weight:750;color:#7a967f}.orb{position:absolute;border:1.5px solid #739c80;border-radius:50%;width:235px;height:235px;top:83px;left:83px;transform:rotate(-17deg)}.orbit-2{width:185px;height:185px;top:107px;left:109px;transform:rotate(24deg);border-color:#b7d0be}.orbit-3{width:110px;height:110px;top:144px;left:145px;background:#bad1b9;border:none;box-shadow:inset 0 -18px 25px #92b697}.art-dots{position:absolute;left:50px;top:110px;display:flex;flex-direction:column;gap:11px}.art-dots span{height:5px;width:5px;border-radius:50%;background:#87a28b}.art-quote{position:absolute;bottom:67px;left:36px;font-size:1.38rem;font-weight:800;line-height:1.6;color:#415b4c;letter-spacing:-.05em}.art-quote em{font-family:Georgia,"Noto Serif CJK JP",serif;font-style:normal;font-size:1.75rem}.art-caption{position:absolute;bottom:28px;right:30px;font-size:.68rem;letter-spacing:.02em;color:#8b9d8a;text-align:right}.floating-sticker{position:absolute;right:-10px;bottom:48px;background:#f0e6d6;border:1px solid #ead7bd;padding:17px 22px;border-radius:6px;transform:rotate(7deg);box-shadow:var(--shadow);color:#847961;font-size:.7rem;font-weight:800;letter-spacing:.02em;line-height:1.5}.floating-sticker span{display:inline-block;font-size:1.6rem;margin-left:10px;color:#77937b;vertical-align:middle}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card{background:#fffef9;padding:30px 32px 36px;border:1px solid #e2e6d9;border-radius:20px;min-height:318px}.step-num{font-family:Georgia,serif;color:#9daf9e;font-size:1rem}.step-illustration{height:116px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:5rem;font-weight:300;color:#72937b}.step-illustration-a{color:#a1bba5}.step-illustration-b{color:#8c9783}.step-illustration-c{color:#caac81}.step-card h3{margin:0 0 12px}.step-card p{font-size:.88rem;line-height:1.9;color:var(--muted)}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.type-card{background:#fffefa;border:1px solid #e3e9df;border-radius:16px;padding:26px 25px;min-height:220px;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s}.type-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#adcaaf}.type-index{color:#9ab29e;font-family:Georgia,serif;font-size:.85rem}.type-card-title{font-weight:800;font-size:1.16rem;margin-top:25px}.type-card-desc{font-size:.82rem;color:var(--muted);line-height:1.75;margin-top:9px;flex:1}.type-card-cta{display:flex;justify-content:flex-end;align-items:center;gap:8px;color:#54815f;font-size:.76rem;font-weight:750;margin-top:15px}.type-card-cta svg{width:17px}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:center}.feature-grid h2{font-size:clamp(2rem,3.5vw,3.4rem);margin:18px 0 22px;line-height:1.6}.feature-grid p{color:#c6d8c9;line-height:2.15;max-width:510px;margin-bottom:35px}.perspective-demo{position:relative;background:#f3f4e9;border-radius:24px;padding:38px 34px 31px;color:#2e4d3a;min-height:470px;transform:rotate(2deg);box-shadow:0 25px 50px #1b322650}.demo-tag{color:#788f7b;font-size:.8rem;font-weight:800}.demo-speech{max-width:88%;padding:19px 24px;font-size:1.01rem;font-weight:700;line-height:1.9;border-radius:20px;margin-top:25px}.demo-speech-bad{background:#e6e2d8;border-bottom-left-radius:3px}.demo-line{text-align:center;margin-top:22px;color:#839484;font-size:.85rem}.demo-speech-good{background:#d4e6d5;margin-left:auto;border-bottom-right-radius:3px}.demo-foot{display:block;text-align:center;color:#869a8b;font-size:.72rem;margin-top:33px}.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px}.faq-list{border-top:1px solid #cbd9cb}.faq{border-bottom:1px solid #d6dfd4}.faq summary{padding:22px 10px 22px 0;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:800;cursor:pointer;line-height:1.8}.faq summary::-webkit-details-marker{display:none}.faq-plus{color:#8caa91;font-size:1.45rem;font-weight:400}.faq[open] .faq-plus{transform:rotate(45deg)}.faq-answer{color:var(--muted);font-size:.9rem;line-height:2.1;padding:0 26px 24px 0}.closing{text-align:center;max-width:650px}.closing h2{margin:15px 0;font-size:clamp(2rem,3.5vw,3rem);line-height:1.6}.closing p{margin-bottom:24px;color:#65776a}.page-intro{padding:65px 0 40px}.page-intro .eyebrow{margin-top:29px}.page-intro h1{margin:20px 0 25px;line-height:1.42}.page-intro .lead{max-width:700px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#88978b;font-size:.76rem;line-height:1.8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current]{color:#546e5a}.notice{background:#ecf1e9;border-left:3px solid #82a187;padding:22px 26px;border-radius:0 12px 12px 0;color:#486352;font-size:.88rem;line-height:1.85}.notice strong{display:block;font-size:.93rem;margin-bottom:8px}.notice p+p{margin-top:9px}.after-grid{margin-top:35px}.type-detail-hero{background:#eef0e7;padding:65px 0 75px}.type-detail-hero .eyebrow{margin-top:35px}.type-detail-hero h1{margin:18px 0 20px;font-size:clamp(2.5rem,5vw,4.1rem)}.detail-strap{display:block;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;line-height:1.8;color:#738476;margin-top:15px}.article-body{font-size:.98rem;color:#4a5e52}.article-body h2{font-size:1.67rem;color:#294638;margin:0 0 19px}.article-body p{margin:0 0 17px;line-height:2.25}.article-section{padding:30px 0 52px;border-bottom:1px solid #dde4da}.article-section:last-child{border-bottom:0}.article-section .eyebrow{margin-bottom:11px}.thought-card{background:#fffefa;border-radius:16px;padding:27px 32px;border:1px solid #e2e8df;margin:20px 0 28px}.thought-card p{font-size:1.13rem;font-weight:750;margin-top:10px;margin-bottom:0;color:#344b3d}.card-overline,.small-label{font-weight:800;color:#829985;font-size:.78rem;letter-spacing:.04em}.reflection-prompt{display:flex;align-items:center;gap:16px;background:#e6eee4;padding:24px 28px;border-radius:13px;margin:18px 0 25px;font-size:1.05rem;color:#3b6546;line-height:1.8}.reflection-prompt svg{flex-shrink:0}.article-cta{background:#e9efe6;padding:35px;margin:35px 0;border:0;border-radius:18px}.article-cta h2{margin-bottom:10px}.related-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.related-item{background:#fffefa;border:1px solid #e2e7e0;padding:16px 18px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:.82rem;font-weight:700}.related-item svg{width:15px}.mini-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:25px 0}.mini-links a{background:#edf1e9;border-radius:10px;padding:15px 18px;font-weight:750;font-size:.91rem}.split-cta{display:flex;justify-content:space-between;align-items:center;gap:25px}.split-cta h2{margin:15px 0}.split-cta p{color:var(--muted)}.spec-list{border-top:1px solid #dce4d9}.spec-list div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #dce4d9;padding:15px 0;gap:20px;line-height:1.85}.spec-list dt{font-weight:800}.spec-list dd{margin:0}.formula{padding:28px;background:#eff3ec;color:#335742;border-radius:12px;font-weight:850;line-height:1.8;margin:26px 0;text-align:center}.bibliography{padding-left:24px;line-height:2.1}.bibliography li{margin:12px 0}.bibliography a{text-decoration:underline;text-underline-offset:4px;color:#3b7851}
/* Quiz */
.quiz-intro{text-align:center;padding:60px 0 100px}.quiz-intro .breadcrumbs{text-align:left}.intro-icon{margin:35px auto 19px;width:58px;height:58px;border-radius:18px;background:#e1ede1;color:#628c6b;display:grid;place-items:center}.intro-icon svg{width:27px;height:27px}.quiz-intro h1{margin:15px 0 22px;font-size:clamp(2.15rem,5vw,3.9rem)}.quiz-intro .lead{max-width:620px;margin:auto}.info-pills{margin:30px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.info-pills span{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid #d9e1d7;border-radius:100px;font-size:.84rem;color:#546e5a}.info-pills svg{width:15px;height:15px}.quiz-intro .notice{text-align:left;max-width:650px;margin:32px auto}.quiz-intro .center-action{margin-top:31px}.quiz-intro>.muted{margin-top:20px}.reset-row{text-align:center;margin-top:14px}.reset-row .plain-btn{font-size:.8rem;color:#8a736e}.quiz-shell{padding:66px 0 110px}.quiz-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:#64806a;font-weight:800;letter-spacing:.045em}.progress-track{height:8px;border-radius:100px;background:#e1e8dd;overflow:hidden}.progress-track>div{width:0;height:100%;border-radius:inherit;background:#7fa587;transition:width .25s ease}.quiz-question-card{margin-top:37px;background:#fffefa;border:1px solid #e2e8de;border-radius:23px;padding:45px 45px 33px;box-shadow:var(--shadow)}.question-eyebrow{font-weight:850;color:#8ca491;font-size:.78rem;letter-spacing:.06em}.quiz-question-card h2{font-size:clamp(1.35rem,2.5vw,2.05rem);line-height:1.75;margin:22px 0 18px;min-height:116px}.quiz-question-card>p{margin-bottom:30px}.choice-list{border:0;margin:0;padding:0;display:grid;gap:12px}.choice{position:relative;display:flex;align-items:center;gap:16px;background:#f8f9f4;border:1.5px solid #e1e7df;border-radius:14px;padding:19px 20px;cursor:pointer;min-height:67px;transition:border-color .15s,background .15s,transform .15s}.choice:hover{border-color:#a5c3a9;background:#f1f7ef}.choice:has(input:checked){border-color:#5c8a68;background:#e8f3e7}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid #83a891;outline-offset:3px}.choice-bullet{height:22px;width:22px;border:2px solid #9cae9f;border-radius:50%;background:#fff;display:inline-grid;place-items:center;flex-shrink:0}.choice:has(input:checked) .choice-bullet{border-color:#578362;background:#578362;box-shadow:inset 0 0 0 5px #fff}.choice-text{font-size:.97rem;font-weight:700;color:#486250}.choice-na{background:#fffefa;border-style:dashed}.choice-na .choice-text{font-size:.85rem;color:#788579}.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.quiz-actions .btn{min-width:180px}.quiz-bottom-hint{color:#8c9a8c;font-size:.77rem;text-align:center;margin-top:20px}.quiz-actions{padding-bottom:10px}.quiz-error{margin-top:14px;padding:12px 16px;border-radius:10px;border-left:3px solid #c9745c;background:#fdf1ed;color:#8f4a38;font-size:.87rem;font-weight:700;line-height:1.7}.quiz-error[hidden]{display:none}.choice-list.needs-answer .choice{border-color:#e0c3b8;background:#fdf6f2}.site-dialog{border:0;border-radius:19px;padding:32px;max-width:420px;width:calc(100% - 40px);color:var(--ink);box-shadow:0 25px 90px #25352970;background:#fffefa}.site-dialog::backdrop{background:rgba(21,36,28,.55)}.site-dialog h2{font-size:1.48rem}.site-dialog p{margin:15px 0 25px;font-size:.91rem;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
/* Result */
.result-page{padding:70px 0 100px}.result-header{max-width:790px}.result-header h1{margin:19px 0 20px;font-size:clamp(2.6rem,5vw,4.2rem)}.result-header>p{max-width:660px;color:var(--muted);line-height:2}.result-feature{background:#e8eee4;border-radius:24px;padding:33px 40px;margin-top:35px;border:1px solid #d3e1d2;position:relative;overflow:hidden}.result-feature:after{content:'✳';position:absolute;right:28px;top:0;color:#c3d6c4;font-size:10rem;line-height:1;pointer-events:none}.result-feature h2{position:relative;font-size:clamp(1.8rem,3vw,2.5rem);margin:13px 0}.result-feature p{position:relative;max-width:650px;color:#5b735f;margin-bottom:13px}.result-feature a{position:relative}.result-section{margin-top:83px}.result-section .section-heading{margin-bottom:30px}.score-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.score-item{background:#fffefa;border-radius:16px;border:1px solid #e0e7dc;padding:23px 25px;min-height:165px}.score-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.score-head h3{font-size:1.04rem}.score-head a:hover{text-decoration:underline}.score-item .score-detail{font-size:.78rem;color:#778b7a;line-height:1.65;margin-top:8px;min-height:38px}.score-number{font-size:.89rem;font-weight:800;color:#47674c;white-space:nowrap}.score-meter{height:9px;border-radius:100px;background:#e8ece5;margin-top:17px;overflow:hidden}.score-meter-bar{width:0;height:100%;background:#88ae8d;border-radius:100px;transition:width .55s ease}.score-meter-empty{background:#d3d9d1}.score-item .score-note{font-size:.73rem;color:#8d9a90;margin-top:9px}.result-key{background:#eef1e9;border-radius:15px;margin-top:20px;padding:23px 28px;color:#576e59;font-size:.85rem}.result-key p{margin-top:7px}.next-step{background:#fffefa;border:1px solid #e3e8dd;border-radius:22px;padding:35px;display:grid;grid-template-columns:170px 1fr;gap:30px;align-items:center}.next-step-art{height:170px;border-radius:18px;background:#e1eddf;color:#72977c;font-size:6.7rem;display:grid;place-items:center}.next-step h3{font-size:1.24rem}.next-step p{color:var(--muted);margin:12px 0 19px;font-size:.9rem}.share-section{padding:44px;border-radius:24px;background:#edf0e6}.share-chooser{margin-bottom:17px}.toggle-line{display:flex;align-items:center;gap:12px;font-weight:800;cursor:pointer}.toggle-line input{accent-color:#547e5c;width:19px;height:19px}.share-chooser p{margin-top:9px}.share-actions{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 28px}.share-preview{background:#fbfaf4;color:#2e4b39;border-radius:12px;min-height:245px;padding:28px 35px;position:relative;overflow:hidden;max-width:520px;border:1px solid #dce5d8}.share-preview:before{content:"";position:absolute;right:-60px;top:-65px;height:235px;width:235px;border:35px solid #d7e5d6;border-radius:50%}.share-preview-overline{color:#8da38f;font-size:.64rem;font-weight:850;letter-spacing:.06em}.share-preview #preview-title{max-width:330px;margin-top:45px;font-size:1.65rem;font-weight:800;line-height:1.5;position:relative}.preview-flower{position:absolute;right:32px;bottom:30px;color:#90ac95;font-size:2.4rem}.share-preview-footer{font-size:.68rem;color:#819583;margin-top:27px;position:relative}.result-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:37px}.delete-btn{color:#976c68}.empty-state{text-align:center;max-width:660px;margin:85px auto 150px}.empty-state h2{font-size:2.5rem;margin:18px 0}.empty-state p{margin:0 0 30px;color:var(--muted)}
/* Exercise */
.exercise-app,.journal{background:#fffefa;border:1px solid #e0e6dd;border-radius:20px;padding:32px;box-shadow:0 12px 25px rgba(34,53,38,.04)}.exercise-header{display:flex;justify-content:space-between;align-items:center;color:#849987;font-size:.78rem;font-weight:800}.exercise-tabs{display:flex;gap:8px;overflow-x:auto;margin-top:22px;padding-bottom:13px;scrollbar-width:thin}.exercise-tab{flex:0 0 auto;border:1px solid #d9e4d7;background:#f3f7f0;border-radius:100px;padding:9px 14px;font-size:.79rem;color:#54745d;font-weight:750}.exercise-tab[aria-pressed="true"]{background:#335943;color:#fff;border-color:#335943}.exercise-content{padding-top:21px}.category-pill{background:#f0e6d7;color:#82705a;font-size:.7rem;font-weight:800;border-radius:100px;padding:6px 13px}.exercise-content h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:17px 0 24px}.scenario-card,.quick-thought,.fact-box{border-radius:13px;padding:23px 25px;margin:15px 0;background:#f1f3ec}.scenario-card p,.quick-thought p,.fact-box p{font-weight:650;margin-top:9px;line-height:1.85}.quick-thought{background:#f4efe8}.exercise-content h3{font-size:1.04rem;margin:31px 0 14px}.exercise-choices{display:grid;gap:10px}.exercise-option{width:100%;text-align:left;background:#fffefa;border:1.5px solid #dde7dc;border-radius:13px;padding:18px 20px;display:flex;align-items:center;gap:13px;font-weight:720;color:#4a624e;line-height:1.75}.exercise-option:hover{background:#f1f7ef}.exercise-option[aria-pressed="true"]{background:#e9f3e8;border-color:#6f9876}.exercise-option:before{content:'○';font-size:1.3rem;color:#8ba994}.exercise-option[aria-pressed="true"]:before{content:'●';color:#598668}.exercise-feedback{border-left:3px solid #8ead96;padding:19px 23px;background:#edf5eb;color:#55735d;line-height:2;margin-top:17px;border-radius:0 12px 12px 0;font-size:.91rem}.fact-box{background:#e8eee4;margin-top:24px}.exercise-footer{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.journal{margin-top:35px}.journal h2{font-size:1.8rem;margin:12px 0}.journal>p{font-size:.88rem;color:var(--muted);margin-bottom:24px}.journal label{display:block;font-weight:800;font-size:.89rem;margin:19px 0 10px}.journal textarea{resize:vertical;display:block;width:100%;border:1.5px solid #dce6da;border-radius:11px;padding:15px;background:#fcfdf9;color:var(--ink);line-height:1.8;min-height:92px}.journal textarea:focus{border-color:#77a680;outline:3px solid #d4e8d4;outline-offset:0}.journal-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:25px}.journal .status{color:#4b8558;margin-top:13px}
@media(max-width:1230px){.nav-desktop{gap:18px}.nav-desktop a{font-size:.82rem}.brand-en{display:none}}@media(max-width:1060px){.nav-desktop{display:none}.nav-toggle{display:block}.nav-mobile:not([hidden]){display:grid;gap:0;position:absolute;top:84px;left:0;right:0;background:#fbfaf4;padding:13px 25px 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 25px #223a2915}.nav-mobile a{padding:15px 4px;border-bottom:1px solid #e5e8df;font-weight:750}}@media(max-width:1020px){.brand-en{display:none}.nav-desktop{gap:16px}.hero-grid{gap:15px}.hero-art{transform:scale(.89)}.feature-grid{gap:30px}}
@media(max-width:780px){.wrap{width:min(650px,calc(100% - 36px))}.topbar{height:67px}.brand{font-size:1.05rem}.brand-mark{font-size:1.95rem}.nav-mobile:not([hidden]){top:67px}.hero{padding:54px 0 70px}.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(2.4rem,7vw,3.4rem)}.hero-title-small{font-size:clamp(1.95rem,5.3vw,2.7rem)}.hero-art{height:470px;transform:scale(.82);margin-top:-14px}.section{padding:72px 0}.section-tiny{padding:30px 0 65px}.step-grid{grid-template-columns:1fr}.step-card{min-height:unset;display:grid;grid-template-columns:80px 1fr;column-gap:15px;padding:25px}.step-num{grid-column:1;grid-row:1}.step-illustration{grid-column:1;grid-row:2/4;height:120px;font-size:4rem}.step-card h3{grid-column:2;align-self:end}.step-card p{grid-column:2}.type-grid{grid-template-columns:repeat(2,1fr)}.feature-grid,.faq-section{grid-template-columns:1fr}.perspective-demo{max-width:510px}.footer-layout{flex-direction:column}.footer-bottom{margin-top:45px}.score-list{grid-template-columns:1fr}.page-intro{padding:45px 0 30px}.result-page{padding:50px 0}.related-list{grid-template-columns:1fr}.split-cta{align-items:flex-start;flex-direction:column}.share-section{padding:25px}.footer{padding-top:48px}}
@media(max-width:520px){:root{font-size:15px}.wrap-narrow{width:calc(100% - 30px)}.hero-copy h1{font-size:2.25rem}.hero-title-small{font-size:2rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.hero-art{margin:-45px -40px -48px;transform:scale(.70);height:425px}.floating-sticker{right:-35px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:1.9rem}.type-grid{grid-template-columns:1fr}.type-card{min-height:180px}.type-card-title{margin-top:15px}.type-card-desc{min-height:32px}.step-card{grid-template-columns:64px 1fr;gap:0 10px}.step-card p{font-size:.85rem}.step-illustration{font-size:3rem}.perspective-demo{padding:25px 18px;min-height:410px}.feature-grid h2{font-size:2rem}.footer-bottom{display:block}.footer-bottom span{display:block;margin:8px 0}.page-intro h1{font-size:2.45rem}.intro-icon{margin-top:19px}.quiz-intro{padding:36px 0 65px}.quiz-intro h1{font-size:2.2rem}.quiz-shell{padding:37px 0 65px}.quiz-question-card{padding:28px 18px 24px;border-radius:17px;margin-top:24px}.quiz-question-card h2{font-size:1.35rem;min-height:95px}.choice{padding:16px 14px;min-height:62px}.choice-text{font-size:.9rem}.quiz-actions .btn{min-width:0;padding:11px 14px}.result-header h1{font-size:2.8rem}.result-feature{padding:23px 22px}.result-section{margin-top:55px}.next-step{grid-template-columns:1fr;padding:23px}.next-step-art{height:110px;font-size:4rem}.share-actions .btn{width:100%}.result-bottom{flex-direction:column;align-items:flex-start}.exercise-app,.journal{padding:21px 17px}.exercise-footer .btn{padding:10px 15px;min-height:46px}.exercise-content h2{font-size:1.5rem}.mini-links{grid-template-columns:1fr}.spec-list div{grid-template-columns:100px 1fr}.article-cta{padding:25px 20px}.footer-links{gap:13px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* V1.1: opt-in friend comparison (no new UI framework) */
.compare-page{padding:65px 0 110px}.compare-hero h1{font-size:clamp(2.4rem,4.8vw,3.6rem);margin:10px 0 17px}.compare-hero>p{max-width:740px;color:var(--muted);line-height:1.95}.compare-card{margin-top:27px;background:#fffefa;border:1px solid #dde5dc;border-radius:22px;padding:29px 32px;box-shadow:0 12px 25px #334f3610}.compare-card h2{font-size:1.5rem;margin-bottom:14px}.compare-card>p{color:var(--muted);font-size:.9rem;margin-bottom:19px}.compare-form{display:grid;gap:15px;max-width:600px}.compare-form label:not(.consent-line){font-size:.86rem;font-weight:750;display:grid;gap:9px}.compare-form input[type=text]{border:1.5px solid #ccdacb;background:#fffefa;border-radius:10px;padding:13px 14px;font:inherit;color:var(--ink)}.consent-line{display:flex;gap:11px;align-items:flex-start;color:#455d49;font-size:.86rem;line-height:1.75}.consent-line input{width:19px;height:19px;accent-color:#537e62;flex:none;margin-top:5px}.compare-alert{margin-top:20px;padding:15px 19px;border-radius:12px;background:#e8f0e6;color:#3b6b48;font-size:.88rem;line-height:1.8}.compare-error{background:#fff0ea;color:#a34d43}.compare-url{overflow-wrap:anywhere;padding:13px 15px;background:#edf2e9;border-radius:10px;font-size:.85rem;margin:13px 0}.compare-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:17px 0}.compare-candidate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e3e8de}.compare-candidate-name{font-weight:800}.compare-score-row{border-bottom:1px solid #e5ebdf;padding:18px 0 20px}.compare-dim-name{font-weight:800;margin-bottom:10px}.compare-measure{display:flex;align-items:center;gap:12px;margin:8px 0}.compare-who{width:18px;font-size:.78rem;color:#6c826c}.compare-track{height:12px;flex:1;background:#e6ece6;border-radius:100px;overflow:hidden}.compare-bar-a,.compare-bar-b{height:100%;border-radius:100px;transition:width .35s}.compare-bar-a{background:#719d8b}.compare-bar-b{background:#b19bcb}.compare-val{width:45px;text-align:right;font-size:.86rem;color:#49634d;font-weight:700}.compare-legend{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin:20px 0}.compare-legend span{display:inline-flex;gap:8px;align-items:center;font-weight:650}.compare-dot{width:11px;height:11px;border-radius:100%}.compare-disclaimer{background:#f4f1e9;border-radius:12px;padding:19px 22px;margin-top:25px;font-size:.84rem;color:#586c5c;line-height:1.9}.compare-card .btn{min-height:44px}@media(max-width:650px){.compare-page{padding:35px 0 65px}.compare-card{padding:23px 19px}.compare-candidate{align-items:flex-start;flex-direction:column}.compare-actions .btn{width:100%}.compare-hero h1{font-size:2.4rem}}

/* V1.2 — original games and editorial practice; native responsive controls */
.explore-grid,.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.explore-card,.practice-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#fffefb;border:1px solid #dce6da;border-radius:18px;padding:26px;min-height:228px;transition:transform .18s,border-color .18s,box-shadow .18s}
.explore-card:hover,.practice-card:hover{transform:translateY(-2px);border-color:#88a88e;box-shadow:0 12px 24px #344a3618}
.explore-card h3,.practice-card h3{font-size:1.3rem;margin:17px 0 8px;line-height:1.5}
.explore-card p,.practice-card p{color:var(--muted);font-size:.88rem;line-height:1.85;flex:1}
.explore-card strong,.practice-card strong{color:#396b50;margin-top:17px;font-size:.87rem}
.fact-game{background:#fffefa;padding:31px 34px;border:1px solid #dbe5d9;border-radius:22px;box-shadow:0 12px 28px #293b3010}
.fact-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.fact-scene{display:inline-block;margin:28px 0 16px;background:#e7eee3;color:#49654e;border-radius:100px;padding:8px 17px;font-size:.83rem;font-weight:800}
.fact-game h2{font-size:clamp(1.48rem,3vw,2.05rem);line-height:1.7;margin:6px 0 18px}
.fact-choices{display:grid;gap:12px;margin:25px 0}
.fact-choice{display:block;text-align:left;border:1.5px solid #d9e3d5;background:#fffefa;border-radius:13px;padding:19px 20px;font:inherit;color:var(--ink);font-weight:800;min-height:60px;cursor:pointer;transition:background .18s,border-color .18s}
.fact-choice[aria-pressed=true],.fact-choice:focus-visible{border-color:#598767;background:#e8f0e5;outline:2px solid #c7ddc8;outline-offset:1px}
.fact-feedback{border-radius:14px;background:#eff4ed;padding:20px 24px;margin:22px 0;line-height:1.9}
.fact-feedback strong{font-weight:850;color:#395b43}.fact-feedback p{margin:8px 0 0}
.fact-bottom,.challenge-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:27px}
#fact-finish{padding:45px 0}#fact-finish h2{margin:15px 0}#fact-finish p{line-height:1.85;color:var(--muted)}
.practice-explain{margin-top:27px;background:#f2f5ef;padding:26px;border-radius:17px}.practice-explain h2{font-size:1.32rem;margin-bottom:11px}.practice-explain p{font-size:.9rem;line-height:1.95;color:var(--muted)}
.challenge-panel{border-top:1px solid #dde7da;margin-top:32px;padding-top:30px}.challenge-intro h3{font-size:1.65rem;margin:10px 0}.challenge-intro p{font-size:.91rem;color:var(--muted);line-height:1.85}
.challenge-scene{font-size:1.3rem;line-height:1.7;margin:19px 0}.challenge-question-top{margin-top:23px}.challenge-progress{height:8px;background:#e7ece6;overflow:hidden;border-radius:100px;margin-top:12px}.challenge-progress-fill{height:100%;background:#7caa8e;transition:width .25s}
.challenge-choice-list{border:0;padding:0;margin:24px 0;display:grid;gap:9px;min-width:0}.challenge-choice-title{font-size:.94rem;font-weight:850;margin-bottom:12px}.challenge-option{display:block;width:100%;min-height:49px;text-align:left;background:#fffefa;border:1.5px solid #dde4d9;color:var(--ink);border-radius:11px;padding:13px 16px;font:inherit;cursor:pointer}
.challenge-option[aria-pressed=true],.challenge-option:focus-visible{border-color:#608975;background:#e8f0e5;outline:2px solid #d5e4d3}
.challenge-reveal-head{background:#edf3e9;border-radius:15px;padding:23px;margin:22px 0}.challenge-reveal-head h4{font-size:1.55rem;margin:9px 0}.challenge-reveal-head p{line-height:1.8;margin:10px 0}
.challenge-reveal-item{border:1px solid #e0e7dc;border-radius:14px;padding:19px;margin:13px 0}.challenge-reveal-item h5{font-size:.99rem;line-height:1.8;margin:9px 0 15px}.challenge-reveal-line{display:flex;gap:18px;justify-content:space-between;border-top:1px solid #eff1ec;padding:11px 0;line-height:1.6;font-size:.85rem}.challenge-reveal-line span{min-width:82px;color:var(--muted)}.challenge-reveal-line strong{flex:1;text-align:right}
@media(max-width:850px){.explore-grid,.practice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.explore-grid,.practice-grid{grid-template-columns:1fr}.explore-card,.practice-card{min-height:0}.fact-game{padding:24px 18px}.fact-bottom .btn,.challenge-actions .btn{flex:1}.challenge-reveal-line{flex-direction:column;gap:3px}.challenge-reveal-line strong{text-align:left}.challenge-intro h3{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){.explore-card,.practice-card,.challenge-progress-fill{transition:none}}

/* V1.3 Release polish */
:where(a,button,input,summary,textarea,select):focus-visible{outline:3px solid #4d876b;outline-offset:4px}
.turnstile-area{min-height:66px;max-width:100%;overflow:visible}
.turnstile-area[hidden]{display:none}
@media(max-width:480px){.turnstile-area{margin-inline:-2px}.compare-form input[type=text]{font-size:16px}.compare-card h2{line-height:1.45}.quiz-question-card{scroll-margin-top:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* V1.4: small, touch-friendly private exercises and two-person discussion cards */
.record-app,.record-history,.review-app{margin:28px 0;padding:clamp(20px,4vw,38px);border-radius:25px;background:var(--white);box-shadow:var(--shadow);border:1px solid var(--line)}
.record-progress{display:grid;gap:13px;margin-bottom:30px}.record-progress-fill{display:block;background:var(--sage-deep);height:100%;border-radius:999px;transition:width .2s}
.record-step{display:grid;gap:15px}.record-step h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}.record-step textarea{min-height:185px;width:100%;border:1.5px solid #ccd8cc;border-radius:16px;padding:18px;background:#fff;color:var(--ink);line-height:1.85;resize:vertical}.record-step textarea:focus{outline:3px solid #83a891;outline-offset:2px}
.record-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:24px}.record-actions .btn{min-height:46px}.record-summary-row{margin:16px 0;padding:15px 0;border-bottom:1px solid var(--line)}.record-summary-row h3{font-size:1rem;margin-bottom:7px}.record-summary-row p{white-space:pre-wrap;overflow-wrap:anywhere}.record-history-list{display:grid;gap:12px;margin:18px 0}.record-history-item{border:1px solid var(--line);border-radius:15px;padding:14px 20px;background:#fff}.record-history-item summary{font-weight:650;cursor:pointer}.record-history-answer{padding:16px 0;border-bottom:1px solid var(--line)}.record-history-answer p{white-space:pre-wrap;overflow-wrap:anywhere}.record-history-item .delete-btn{margin-top:15px}
.dialogue-result{padding:20px 0;border-bottom:1px solid var(--line)}.dialogue-result h4{font-size:1.16rem;margin:12px 0}.dialogue-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.dialogue-answer{background:var(--cream-2);border-radius:16px;padding:18px;min-width:0}.dialogue-answer strong{font-size:.85rem;color:var(--ink-soft)}.dialogue-answer p{font-size:.96rem;margin-top:6px;overflow-wrap:anywhere}
.review-timeline{display:grid;gap:6px;margin:16px 0 32px}.review-time{border-left:3px solid var(--sage);padding:8px 14px;background:var(--cream-2)}.review-chart{display:grid;gap:18px}.review-score-item{padding:16px 0;border-bottom:1px solid var(--line)}.review-score-item h3{font-size:1rem;margin-bottom:12px}.review-barline{display:flex;align-items:center;gap:10px;margin:8px 0}.review-bar-label{font-size:.82rem;color:var(--muted);width:42px;flex:none}.review-bar-value{width:36px;text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem}.review-bar-track{height:12px;background:#e8ebe4;border-radius:100px;overflow:hidden;flex:1}.review-bar-old{height:100%;background:#a7b8ac;border-radius:100px}.review-bar-new{height:100%;background:#728f78;border-radius:100px}.result-extra-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:560px){.dialogue-result-grid{grid-template-columns:1fr}.record-actions{justify-content:stretch}.record-actions .btn{flex:1}.record-history,.record-app,.review-app{padding:18px;margin:18px 0}.result-extra-links{display:grid}}
@media(prefers-reduced-motion:reduce){.record-progress-fill{transition:none}}
.record-step[hidden],.record-progress[hidden],.record-actions[hidden],.record-summary[hidden],#dialogue-panel[hidden],#review-retake[hidden]{display:none!important}

/* The legend dots used to carry inline style attributes. The site runs under a
   style-src 'self' policy, so the two colours live here instead.
   The quiz progress bar needs no rule: .progress-track>div already starts at 0. */
.compare-dot-a{background:#719d8b}
.compare-dot-b{background:#b19bcb}
