:root{color-scheme:light;--sun:#ffe01a;--sun-deep:#f2ce00;--tongue:#ee2a7b;--tongue-soft:#ffd6e7;--tongue-deep:#b81f5f;--paper:#fffdf5;--ink:#16171d;--grape:#6b4fbb;--mint:#0f9c80;--coral:#ee5c43;--sky:#2f7dc4;--plum:#b8437a;--rust:#9b3e33;--night:#232a4a;--line:2.5px;--line-thick:3.5px;--shadow:4px 4px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--radius:16px;--radius-sm:10px;--tap:44px;--container:1120px;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:15px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:22px;--text-4xl:26px;--text-5xl:28px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--paper);color:var(--ink);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7}a{color:inherit}img,svg{max-width:100%;display:block}button{font:inherit}.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}.hard{box-shadow:var(--shadow)}.hard,.hard-sm{border:var(--line) solid var(--ink)}.hard-sm{box-shadow:var(--shadow-sm)}a.hard,a.hard-sm{transition:transform .15s,box-shadow .15s}a.hard-sm:hover,a.hard:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.badge{gap:4px;padding:4px 10px;border-radius:999px;border:2px solid var(--ink);background:#fff;font-size:12px}.badge,.btn{display:inline-flex;align-items:center;font-weight:800}.btn{justify-content:center;gap:8px;min-height:var(--tap);padding:10px 18px;border-radius:999px;border:var(--line) solid var(--ink);background:var(--sun);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s,box-shadow .15s}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn.store{min-height:52px;background:var(--ink);color:#fff;border-color:var(--ink)}.btn.ghost{background:#fff;color:var(--ink)}.marker{background:linear-gradient(transparent 62%,var(--tongue-soft) 62%);padding:0 .05em}.pull-quote{margin:20px 0;padding:4px 0 4px 20px;border-left:6px solid var(--sun-deep);font-size:22px;font-weight:900;line-height:1.5;color:var(--ink)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes figureIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.figure{margin:20px 0;padding:18px;border-radius:var(--radius);background:#fff;border:var(--line) solid var(--ink);box-shadow:var(--shadow-sm);animation:figureIn .5s ease both}.figure-caption{font-size:13px;font-weight:800;margin:0 0 12px;color:var(--h,var(--ink))}.figure-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1.5px dashed #e5e0c8}.figure-row:first-child{border-top:none}.fig-branch .figure-row{flex-direction:column;align-items:stretch;padding:0}.branch-q-btn{width:100%;min-height:var(--tap);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;background:none;border:none;font:inherit;text-align:left;cursor:pointer;color:inherit}.branch-q-btn .cell{font-weight:700}.branch-q.is-open .branch-q-btn .cell{font-weight:900}.branch-q-arrow{flex:none;font-size:10px;color:var(--h,var(--ink))}.branch-q-answer{padding:0 0 12px 4px;animation:figureIn .2s ease both}.branch-q-answer .cell{display:inline-block;padding:5px 14px;border-radius:999px;background:color-mix(in srgb,var(--h,var(--sun)) 25%,#fff);color:var(--ink);border:2px solid var(--ink);font-size:13px;font-weight:700}.fig-ladder{counter-reset:step}.fig-ladder .figure-row{counter-increment:step;padding-left:34px;position:relative}.fig-ladder .figure-row:before{content:counter(step);position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--h,var(--sun)) 30%,#fff);color:var(--ink);border:2px solid var(--ink);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.fig-ladder .cell:last-child{margin-left:auto;font-size:12px;color:#666}.fig-timeline .figure-row{border-top:none;border-left:3px solid var(--h,var(--sun));padding-left:14px;margin-left:4px}.fig-timeline .cell:first-child{font-weight:800;min-width:64px}.fig-checklist .figure-row{border-top:none;padding:6px 0}.fig-checklist .cell:before{content:"";display:inline-block;width:18px;height:18px;margin-right:8px;border-radius:5px;border:2px solid var(--ink);background:var(--h,var(--sun));vertical-align:-3px}.fig-doslist .figure-row{border-top:none;padding:6px 0;align-items:flex-start}.fig-doslist .tag{flex:none;padding:3px 10px;border-radius:999px;border:2px solid var(--ink);font-size:12px;font-weight:800;white-space:nowrap}.fig-doslist .tag.do{background:color-mix(in srgb,var(--mint) 25%,#fff)}.fig-doslist .tag.dont{background:color-mix(in srgb,var(--coral) 22%,#fff)}.fig-doslist .tag.neutral{background:#fff}.fig-doslist .desc{font-size:14px}.fig-meter .figure-row{border-top:none;flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.fig-meter .meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fig-meter .meter-label{font-size:13px;font-weight:800;flex:none}.fig-meter .meter-desc{font-size:13px;color:#555}.fig-meter .meter-bar{height:10px;border-radius:999px;background:#f1ede0;border:1.5px solid var(--ink);overflow:hidden}.fig-meter .meter-fill{height:100%;background:var(--h,var(--sun))}.compare-table{width:100%;border-collapse:collapse;font-size:13px}.compare-table td,.compare-table th{padding:8px 10px;border-bottom:1.5px dashed #e5e0c8;text-align:left;vertical-align:top}.compare-table thead th{border-bottom:2px solid var(--ink);font-size:12px;color:var(--h,var(--ink))}.compare-table tbody th{font-weight:800;white-space:nowrap;width:1%}.compare-table tr:last-child td,.compare-table tr:last-child th{border-bottom:none}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));grid-gap:8px;gap:8px}.calendar-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:10px;border:2px solid var(--ink);background:#fdfbf2;text-align:center}.calendar-day{font-size:11px;font-weight:800;color:#777}.calendar-status{font-size:13px;font-weight:800;color:var(--h,var(--ink))}.flow-bubble{display:flex;flex-direction:column;gap:2px;max-width:78%;margin:0 0 10px;padding:8px 12px;border-radius:14px;border:2px solid var(--ink);font-size:13px}.flow-bubble.flow-a{align-self:flex-start;background:#fff;border-bottom-left-radius:2px}.flow-bubble.flow-b{align-self:flex-end;margin-left:auto;background:color-mix(in srgb,var(--h,var(--sun)) 25%,#fff);color:#33301c;border-bottom-right-radius:2px}.fig-flow>div{display:flex;flex-direction:column}.flow-speaker{font-size:10px;font-weight:800;color:#777}.flow-bubble.flow-b .flow-speaker{color:#33301c}@media (min-width:640px){.container{width:min(var(--container),calc(100% - 64px))}}.sec-title{font-weight:900;font-size:20px;margin:40px 0 16px;padding:10px 14px;background:var(--sun);border:var(--line) solid var(--ink);box-shadow:var(--shadow-sm)}.pledge{background:#fff;border:3px solid var(--ink);box-shadow:var(--shadow);margin:20px 0}.pledge-h{background:var(--ink);color:var(--sun);padding:10px 14px;font-weight:900;font-size:14px}.pledge ol{margin:0;padding:14px 16px 14px 32px;font-size:14px;line-height:1.75}.fmt,.pledge ol{display:flex;flex-direction:column;gap:10px}.fmt{background:#f6f3e7;border:2.5px dashed var(--ink);padding:14px 16px;margin:16px 0}.fmt-row{display:grid;grid-template-columns:24px 1fr;grid-gap:8px;gap:8px;align-items:start;font-size:14px}.fmt-row .mark{width:22px;height:22px;border-radius:50%;color:#fff;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}.fmt-row.ok .mark{background:var(--mint)}.fmt-row.ng .mark{background:var(--coral)}.info-table dl{margin:0;display:grid;grid-template-columns:1fr}.info-table dt{background:#f6f3e7;padding:8px 12px;font-size:12px;font-weight:700;border-bottom:2px solid #dfdbcb}.info-table dd{margin:0 0 4px;padding:0 12px 10px;font-size:14px}@media (min-width:560px){.info-table dl{grid-template-columns:130px 1fr}.info-table dt{border-right:2px solid #dfdbcb}.info-table dd{padding:8px 12px;border-bottom:2px solid #dfdbcb}}