:root{--accent:#b8436e;--accent-dark:#9c3459;--accent-soft:#ffe6ee;--peach:#ffe2d4;--mint:#dff3ea;--bg:#fff5f8;--card:#fff;--text:#4a3548;--muted:#7d6079;--line:#f3cfdc;--hero-bg:#fce4ee;--hero-text:#4a3548;--hero-sub:#7d6079;--hero-accent:#b8436e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-gothic), "Hiragino Maru Gothic ProN", sans-serif;-webkit-font-smoothing:antialiased;background-image:radial-gradient(#fbdbe6 1.2px,#0000 1.4px);background-size:22px 22px}a{color:var(--accent)}a:hover{color:var(--accent-dark)}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.display{font-family:var(--font-display), var(--font-gothic), sans-serif;font-synthesis:none;letter-spacing:.02em;font-weight:500}.header{justify-content:space-between;align-items:center;gap:4px;padding:16px 12px 4px;font-size:15px;font-weight:700;display:flex}.icon-btn{width:44px;height:44px;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.btn{background:var(--accent);color:#fff;width:100%;min-height:56px;font:inherit;cursor:pointer;box-shadow:0 4px 0 var(--accent-dark);border:0;border-radius:28px;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:flex}.btn:hover{background:var(--accent-dark);color:#fff}.btn:active{box-shadow:0 1px 0 var(--accent-dark);transform:translateY(3px)}.card{background:var(--card);border:1.5px solid #fbe0ea;border-radius:24px;padding:20px;box-shadow:0 3px #f8d6e2}.card h2:before{content:"";vertical-align:-1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1c.8 5.6 4.4 9.2 11 11-6.6 1.8-10.2 5.4-11 11-.8-5.6-4.4-9.2-11-11 6.6-1.8 10.2-5.4 11-11z' fill='%23e8789f'/%3E%3C/svg%3E") 50%/contain no-repeat;width:12px;height:12px;margin-right:6px;display:inline-block}.hero{background-color:var(--hero-bg);color:var(--hero-text);background-image:radial-gradient(circle at 88% 18%,#fff 0 3px,#0000 3.5px),radial-gradient(circle at 76% 70%,#fff 0 2px,#0000 2.5px),radial-gradient(circle at 94% 82%,#f8c9da 0 4px,#0000 4.5px)}.muted{color:var(--muted)}.ad-slot{height:60px;color:var(--muted);background:#fff9;border:1.5px dashed #ecb3c7;border-radius:16px;justify-content:center;align-items:center;font-size:12px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field>label,.field legend{padding:0;font-size:13px;font-weight:700}select,input[type=text]{border:1.5px solid var(--line);height:48px;font:inherit;color:var(--text);background:#fff;border-radius:14px;width:100%;padding:0 10px;font-size:15px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.term{all:unset;cursor:pointer;color:inherit;font:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, currentColor 55%, transparent);text-decoration-color:color-mix(in srgb, currentColor 55%, transparent);text-underline-offset:3px;border-radius:4px;text-decoration-thickness:1.5px}.term:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.term:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.glossary-sheet{border:0;border-top:4px solid var(--accent-soft);width:100%;max-width:480px;max-height:80dvh;color:var(--text);background:#fff;border-radius:28px 28px 0 0;margin:auto auto 0;padding:0;animation:.22s ease-out sheet-up}.glossary-sheet::backdrop{background:#4a354866}.glossary-inner{padding:12px 24px 28px}.glossary-handle{background:#f3b8cc;border-radius:2px;width:40px;height:4px;margin:0 auto 16px}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.glossary-sheet{animation:none}}.float{animation:2.6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.float{animation:none}}.icon-bubble{background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}@media print{body{background:#fff!important}.no-print,.header{display:none!important}.app{max-width:none!important;box-shadow:none!important}.card,.hero{border:1px solid #eedde5;box-shadow:none!important}.report-section{break-inside:avoid}.report{padding:0!important}}
