:root{--bg: #ffffff;--surface: #f5f8f5;--surface-2: #eef3ee;--border: #e2e8e2;--text: #1a2420;--muted: #5b6b63;--brand: #c026a3;--brand-dark: #9d1e85;--brand-tint: #fbe8f6;--accent: #d98324;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(20, 40, 30, .05), 0 6px 20px rgba(20, 40, 30, .06);--wrap: 1080px;--read: 720px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:var(--brand-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.25;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,4.5vw,2.5rem);margin:0 0 .5em}h2{font-size:clamp(1.35rem,3vw,1.7rem);margin:1.8em 0 .6em}h3{font-size:1.2rem;margin:1.4em 0 .5em}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}.read{max-width:var(--read);margin-inline:auto;padding-inline:20px}.btn{display:inline-block;background:var(--brand);color:#fff;font-weight:600;padding:.8em 1.4em;border-radius:999px;border:0;cursor:pointer;font-size:1rem;transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--brand-dark);text-decoration:none;transform:translateY(-1px)}.btn-ghost{background:var(--brand-tint);color:var(--brand-dark)}.btn-ghost:hover{background:#f5d4ec}.site-header{position:sticky;top:0;z-index:50;background:#ffffffe6;backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:var(--text);letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand),#d65cc0);display:inline-block}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{color:var(--muted);font-weight:600;font-size:.95rem;padding:.5em .7em;border-radius:8px}.nav a:hover{color:var(--brand-dark);background:var(--surface);text-decoration:none}.nav-toggle{display:none}.hero{background:linear-gradient(180deg,var(--brand-tint),#fff);border-bottom:1px solid var(--border)}.hero .inner{padding:clamp(40px,8vw,80px) 0;text-align:center}.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:640px;margin:.6em auto 1.4em}.pill{display:inline-block;background:#fff;border:1px solid var(--border);color:var(--brand-dark);font-weight:600;font-size:.85rem;padding:.35em .9em;border-radius:999px}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;gap:8px}.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #14281e1a}.card .cat{font-size:.78rem;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.03em}.card h3{margin:0;font-size:1.12rem}.card h3 a{color:var(--text)}.card p{margin:0;color:var(--muted);font-size:.95rem}.section{padding:clamp(36px,6vw,64px) 0}.section h2.section-title{text-align:center;margin-top:0}.section .sub{text-align:center;color:var(--muted);margin:-.3em auto 1.6em;max-width:560px}.article{padding:32px 0 56px}.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:14px}.breadcrumb a{color:var(--muted)}.article .meta-cat{color:var(--brand);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.prose{font-size:1.05rem}.prose p{margin:1em 0}.prose ul,.prose ol{margin:1em 0;padding-left:1.3em}.prose li{margin:.35em 0}.prose img{border-radius:var(--radius-sm);margin:1.2em auto;border:1px solid var(--border)}.prose figure{margin:1.4em 0}.prose h2{border-top:1px solid var(--border);padding-top:.9em}.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.96rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:9px 12px;text-align:left}.prose thead th{background:var(--surface)}.prose blockquote{border-left:4px solid var(--brand);background:var(--surface);margin:1.2em 0;padding:.6em 1.1em;border-radius:0 8px 8px 0;color:#7a1866}.prose a{text-decoration:underline;text-underline-offset:2px}.disclaimer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;font-size:.92rem;color:var(--muted);margin-top:28px}.related{background:var(--surface);border-top:1px solid var(--border)}.form{display:grid;gap:16px;max-width:560px}.form label{font-weight:600;font-size:.95rem;display:grid;gap:6px}.form input,.form textarea{font:inherit;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);width:100%}.form input:focus,.form textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}.form textarea{min-height:150px;resize:vertical}.hp{position:absolute;left:-5000px}.site-footer{background:var(--surface);border-top:1px solid var(--border);margin-top:40px}.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;padding:44px 0 24px}.site-footer h4{margin:0 0 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.site-footer a{color:var(--text);display:block;padding:3px 0;font-size:.95rem}.site-footer .legal{border-top:1px solid var(--border);padding:16px 0;font-size:.85rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}@media (max-width: 720px){body{font-size:17px}.nav{position:fixed;inset:62px 0 auto;background:#fff;border-bottom:1px solid var(--border);flex-direction:column;padding:8px 16px 16px;gap:2px;display:none;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:.7em .6em;font-size:1rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.site-footer .cols{grid-template-columns:1fr;gap:20px}}.card{overflow:hidden}.card-thumb{display:block;margin:-20px -20px 6px}.card-thumb img{width:100%;height:180px;object-fit:cover;display:block}.prose .hero-img{margin:0 0 1.3em}.prose .hero-img img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.tool{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 0 36px}.tool-head{margin-bottom:18px}.tool-head h2{margin:0 0 .3em}.tool-head p{margin:0;color:var(--muted)}.tool-note{font-size:.9rem;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:start}@media (max-width: 900px){.tool-grid{grid-template-columns:1fr}}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.panel+.panel{margin-top:14px}.panel>h3{margin:0 0 12px;font-size:1rem;letter-spacing:-.005em}.fld{display:grid;gap:5px;margin-bottom:12px}.fld>span{font-size:.82rem;font-weight:700;color:var(--muted)}.fld input[type=text],.fld input[type=date],.fld input[type=time],.fld select,.fld textarea{font:inherit;font-size:.95rem;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);width:100%}.fld textarea{min-height:74px;resize:vertical}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}.fld input[type=range]{width:100%;accent-color:var(--brand)}.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font:inherit;font-size:.85rem;font-weight:600;padding:.42em .85em;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;line-height:1.3}.chip:hover{border-color:var(--brand);color:var(--brand-dark)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:38px;height:38px;border-radius:10px;border:2px solid var(--border);cursor:pointer;padding:0;position:relative;overflow:hidden}.swatch[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.swatch i{position:absolute;inset:0;display:block}.swatch b{position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-radius:50%}.stage{background:repeating-conic-gradient(#eceff0 0% 25%,#f7f9fa 0% 50%) 50% / 22px 22px;border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:grid;place-items:center;min-height:320px}.stage canvas{max-width:100%;max-height:68vh;height:auto;box-shadow:0 8px 30px #14281e2e;border-radius:2px;background:#fff}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.actions .btn{font-size:.93rem;padding:.65em 1.15em}.btn-line{background:#fff;color:var(--brand-dark);border:1px solid var(--border)}.btn-line:hover{background:var(--surface)}.out{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.out+.out{margin-top:14px}.out header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.out header h3{margin:0;font-size:1rem}.out pre{font:inherit;white-space:pre-wrap;margin:0;color:var(--text)}.tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);background:var(--brand-tint);padding:.25em .7em;border-radius:999px}.fontcard{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px}.fontcard .fc-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.fontcard .fc-name{font-weight:700;font-size:.95rem}.fontcard .fc-note{color:var(--muted);font-size:.85rem}.fontcard .fc-sample{line-height:1.35;word-break:break-word;margin:6px 0 0}.fontcard .fc-acc{font-size:.8rem;color:var(--muted);margin-top:8px}.fontcard .fc-btns{display:flex;gap:7px;flex-wrap:wrap}.tool-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;padding:0;list-style:none}.tool-toc a{font-size:.9rem;font-weight:600;background:#fff;border:1px solid var(--border);border-radius:999px;padding:.35em .9em;color:var(--brand-dark)}.tool-toc a:hover{text-decoration:none;border-color:var(--brand)}.promo{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:linear-gradient(135deg,var(--brand-tint),#fff);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin:1.6em 0}.promo .ico{width:42px;height:42px;border-radius:12px;background:var(--brand);display:grid;place-items:center;color:#fff}.promo strong{display:block;font-size:1.02rem}.promo span{color:var(--muted);font-size:.93rem}.promo .btn{white-space:nowrap}@media (max-width: 620px){.promo{grid-template-columns:1fr;text-align:left}.promo .btn{justify-self:start}}.faq details{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;margin:10px 0;background:#fff}.faq summary{font-weight:700;cursor:pointer}.faq details[open] summary{margin-bottom:.5em}.faq p{margin:.5em 0 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:#1a2420;color:#fff;padding:.7em 1.2em;border-radius:999px;font-size:.92rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:200}.toast.show{opacity:1;transform:translate(-50%)}@media print{.site-header,.site-footer,.actions,.panel,.tool-head,.breadcrumb,.promo,.related{display:none!important}.stage{background:#fff;border:0;padding:0}.stage canvas{box-shadow:none;max-height:none}}.nav a.nav-cta{color:var(--brand-dark);background:var(--brand-tint)}.nav a.nav-cta:hover{background:#f5d4ec;color:var(--brand-dark)}.site-footer .cols{grid-template-columns:1.3fr 1fr 1fr 1fr}@media (max-width: 900px){.site-footer .cols{grid-template-columns:1fr 1fr}}@media (max-width: 620px){.site-footer .cols{grid-template-columns:1fr}}
