/* Pars Skin marriage compatibility. All selectors scoped mc-* to protect site-wide CSS. */
:root { --mc-ink:#352340; --mc-muted:#655b6d; --mc-plum:#542b65; --mc-purple:#87518e; --mc-gold:#be8d49; --mc-line:#e8dfe9; --mc-cream:#fcf9f7; --mc-lilac:#f7f0f7; --mc-white:#fff; }
.article-body .mc-hero, .article-body .mc-form-panel, .article-body .mc-result, .article-body .mc-guide, .article-body .mc-rating { box-sizing:border-box; }
.article-body [class^="mc-"] *, .article-body [class*=" mc-"] * { box-sizing:border-box; }
.mc-kicker { display:inline-block; color:#93588f; font-size:.86rem; font-weight:700; letter-spacing:.01em; }
.mc-hero { display:grid; grid-template-columns:1.06fr .94fr; align-items:stretch; background:linear-gradient(135deg,#25132e,#4d2655 56%,#80466b); color:#fff; border-radius:22px; overflow:hidden; margin:1rem 0 2rem; box-shadow:0 14px 35px rgba(48,22,57,.15); }
.mc-hero .mc-kicker { color:#e6c68c; }
.mc-hero-copy { padding:clamp(24px,3vw,42px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.mc-hero h2 { color:#fff; font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.55; margin:.8rem 0 1rem; }
.mc-hero p { color:#fbf0fb; line-height:2.05; margin:0 0 1.1rem; font-size:1rem; }
.mc-hero img { display:block; width:100%; height:100%; min-height:345px; object-fit:cover; object-position:51% 50%; }
.mc-start-link, .mc-start-link:visited { background:#f7dba8; color:#392442; font-weight:800; padding:13px 21px; border-radius:100px; text-decoration:none; display:inline-flex; align-items:center; gap:14px; box-shadow:0 9px 25px rgba(18,9,29,.16); }
.mc-hero p.mc-hero-note { font-size:.8rem; opacity:.9; margin:1.2rem 0 0; }
.mc-section-heading { text-align:center; margin:0 auto 1.4rem; max-width:750px; }
.mc-section-heading h2 { font-size:clamp(1.5rem,2.4vw,2rem); color:var(--mc-ink); margin:.45rem 0 .55rem; }
.mc-section-heading p { color:var(--mc-muted); line-height:2.05; margin:.4rem 0 0; }
.mc-form-panel { background:linear-gradient(#fff,#fdfbfe); border:1px solid var(--mc-line); border-radius:22px; box-shadow:0 8px 28px rgba(69,37,74,.055); padding:clamp(18px,3vw,34px); margin-bottom:2.1rem; scroll-margin-top:1.2rem; }
.mc-two-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.mc-person-card { min-width:0; margin:0; padding:20px 18px 21px; border:1px solid #e7dbe9; border-radius:18px; background:#fff; }
.mc-person-card legend { padding:0 7px; color:#50275c; font-weight:800; font-size:1.08rem; }
.mc-person-bullet { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:var(--mc-plum); font-size:.88rem; margin-left:4px; }
.mc-field-label { display:block; font-size:.88rem; color:#46364f; font-weight:700; margin:9px 0 6px; }
.mc-text-input, .mc-select { display:block; width:100%; min-width:0; background:#fff; border:1px solid #dcd3e1; border-radius:11px; color:#3c2b46; font:inherit; min-height:45px; padding:8px 12px; box-shadow:none; }
.mc-text-input:focus, .mc-select:focus { outline:2px solid #b992ce; outline-offset:2px; border-color:#a475b7; }
.mc-date-fields { display:grid; grid-template-columns:.78fr 1.13fr 1.02fr; gap:10px; }
.mc-date-fields .mc-select, .mc-date-fields .mc-text-input { padding-inline:7px; }
.mc-input-hint { margin:12px 0 0; color:#817487; font-size:.76rem; line-height:1.8; }
.mc-form-end { text-align:center; margin-top:24px; }
.mc-form-end p { color:#8b7a91; font-size:.85rem; margin:.8rem 0 0; }
.mc-main-btn { border:0; border-radius:100px; min-height:52px; padding:12px 38px; font:inherit; font-weight:800; cursor:pointer; background:linear-gradient(120deg,#542b67,#824e8b); color:#fff; box-shadow:0 9px 22px rgba(93,52,110,.2); transition:transform .18s,box-shadow .18s; }
.mc-main-btn:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(93,52,110,.24); }
.mc-alert { color:#6e2231; background:#fff4f4; border:1px solid #e8b8be; border-radius:11px; padding:14px 19px; margin:0 0 17px; line-height:1.9; }
.mc-alert ul { margin:5px 0; padding-right:23px; }
.mc-invite { scroll-margin-top:1rem; margin:2rem 0 3rem; padding:32px; border-radius:20px; display:grid; grid-template-columns:1fr 1fr; gap:20px; background:linear-gradient(130deg,#f7ecf7,#fcf8f3); border:1px solid #eee1ed; align-items:center; }
.mc-invite h2 { color:var(--mc-ink); margin:.4rem 0; }
.mc-invite p { line-height:2; color:var(--mc-muted); margin:.5rem 0; }
.mc-invite-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mc-invite-cards span { background:#fff; color:#6a4075; padding:20px 12px; text-align:center; border-radius:13px; border:1px solid #f0e5ee; font-weight:700; }
.mc-result { scroll-margin-top:20px; margin:26px 0 46px; border:1px solid #eadbe7; border-radius:22px; background:#fff; overflow:hidden; box-shadow:0 14px 36px rgba(77,40,88,.08); }
.mc-result-header { padding:27px 27px 22px; text-align:center; background:linear-gradient(110deg,#fdf4f7,#f2e8f6); }
.mc-result-header h2 { color:#4e225d; font-size:clamp(1.45rem,2.5vw,2rem); margin:7px 0; }
.mc-result-header p { max-width:650px; margin:0 auto; color:#6b5673; line-height:2.1; }
.mc-score-grid { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:25px; padding:25px; }
.mc-score-spot { display:flex; flex-direction:column; text-align:center; align-items:center; justify-content:center; padding:24px 12px; border:1px solid #f0dbe9; border-radius:18px; background:#fffafc; }
.mc-score-spot>span:first-child { font-size:.75rem; color:#72657a; }
.mc-score-spot strong { color:#6a3672; font-size:3.2rem; line-height:1.4; }
.mc-score-spot small { font-size:.85rem; margin-right:7px; }
.mc-score-spot .mc-score-disclaimer { font-size:.77rem; color:#74677a; }
.mc-score-meters { display:flex; flex-direction:column; gap:15px; }
.mc-meter>div:first-child { display:flex; justify-content:space-between; gap:10px; color:#4b3b53; font-size:.9rem; }
.mc-meter b { white-space:nowrap; color:#754681; }
.mc-meter-track { background:#f1e9f1; border-radius:100px; height:10px; overflow:hidden; margin-top:8px; }
.mc-meter-track>span { display:block; background:linear-gradient(90deg,#88558b,#d2ab69); height:100%; border-radius:100px; }
.mc-explain { margin:0 25px 25px; background:#faf5fb; padding:13px 17px; border-radius:12px; color:#64566d; line-height:2; }
.mc-explain summary { font-weight:800; color:#664173; cursor:pointer; }
.mc-explain p { margin:10px 0 0; }
.mc-result-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:0 25px 24px; }
.mc-result-person { background:#faf8f5; border:1px solid #efe8e0; padding:19px; border-radius:14px; }
.mc-result-person h3 { font-size:1.2rem; color:#502c5b; margin:7px 0 8px; }
.mc-result-person p { line-height:2; margin:.5rem 0; color:#5c4c62; }
.mc-result-person small { color:#847788; }
.mc-result-story { margin:0 25px 23px; display:grid; grid-template-columns:180px 1fr; gap:20px; align-items:center; background:#34223f; color:#fff; border-radius:16px; overflow:hidden; }
.mc-result-story img { display:block; width:100%; height:100%; min-height:180px; object-fit:cover; }
.mc-result-story>div { padding:18px 10px 18px 20px; }
.mc-result-story h3 { color:#fff; margin:5px 0; }
.mc-result-story p { color:#f6eaf4; margin:7px 0; line-height:1.95; }
.mc-result-story .mc-kicker { color:#ebc99a; }
.mc-result-sections { padding:0 27px; }
.mc-result-sections>section { padding:14px 0; border-bottom:1px solid #ede7eb; }
.mc-result-sections h3 { color:#542b63; font-size:1.14rem; margin:.5rem 0; }
.mc-result-sections p { color:#54485c; line-height:2.15; margin:.5rem 0; }
.mc-practice { margin:23px 27px; border-radius:14px; padding:20px 24px; background:#f9f2e7; color:#584434; line-height:2; }
.mc-practice strong { display:block; margin-bottom:7px; }
.mc-practice ol { padding-right:24px; margin:0; }
.mc-result-actions { padding:20px 27px 26px; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.mc-result-actions p { margin:0; width:100%; color:#776b7e; font-size:.8rem; }
.mc-secondary-btn, .mc-outline-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font:inherit; font-weight:800; padding:9px 22px; border:1px solid #a07cab; border-radius:11px; background:#fff; color:#64366f; cursor:pointer; }
.mc-secondary-btn:hover, .mc-outline-link:hover { background:#f6eef7; }
.mc-guide { margin-top:3.2rem; }
.mc-guide-intro { max-width:none; border-top:1px solid #e9e0e9; padding-top:35px; }
.mc-guide-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:16px; }
.mc-guide-tags a { background:#f4edf6; border:1px solid #e8dce9; border-radius:100px; padding:7px 12px; font-size:.81rem; color:#5d3f6b; text-decoration:none; }
.mc-article-section { margin:38px 0 0; scroll-margin-top:30px; }
.mc-article-section h2 { color:#4f2b5b; font-size:clamp(1.35rem,2vw,1.65rem); line-height:1.75; margin:0 0 12px; padding-right:13px; border-right:4px solid #bd95bb; }
.mc-article-section>p { line-height:2.35; color:#514758; margin:0 0 17px; text-align:justify; }
.mc-article-section h3 { color:#5b3466; }
.mc-note, .mc-example { background:linear-gradient(120deg,#faf5fb,#fffaf4); border:1px solid #eee2e9; border-radius:15px; padding:20px 22px; margin:18px 0; line-height:2.05; }
.mc-note strong, .mc-example-title { color:#633d6b; font-weight:800; }
.mc-note p, .mc-example p { color:#5c5162; margin:5px 0 0; }
.mc-table-wrap { overflow-x:auto; border-radius:13px; border:1px solid #ece3ea; margin:20px 0; }
.mc-zodiac-table { width:100%; border-collapse:collapse; min-width:450px; font-size:.92rem; }
.mc-zodiac-table th, .mc-zodiac-table td { border-bottom:1px solid #eee7ed; text-align:right; padding:11px 14px; color:#4f4456; }
.mc-zodiac-table thead th { background:#f5edf7; color:#55315d; font-weight:800; }
.mc-zodiac-table tbody tr:nth-child(even) { background:#fdfafd; }
.mc-zodiac-table tbody tr:last-child>* { border-bottom:0; }
.mc-elements-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:20px 0; }
.mc-element-card { display:grid; grid-template-columns:125px 1fr; border:1px solid #e9e1e9; border-radius:14px; overflow:hidden; background:#fff; align-items:stretch; }
.mc-element-card img { width:100%; height:100%; min-height:190px; object-fit:cover; }
.mc-element-card>div { padding:14px; }
.mc-element-card h3 { font-size:1.14rem; margin:0 0 3px; }
.mc-element-card p { color:#645967; font-size:.86rem; line-height:1.9; margin:4px 0; }
.mc-element-card small { color:#806e83; font-size:.75rem; line-height:1.7; display:block; }
.mc-dialogue-list { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:20px 0; }
.mc-dialogue-list>div { border:1px solid #eee2e9; padding:18px 20px; border-radius:14px; background:#fff; }
.mc-dialogue-list>div span { color:#c092ac; font-size:1.3rem; font-weight:900; }
.mc-dialogue-list h3 { color:#5d3c69; margin:4px 0 9px; font-size:1.06rem; }
.mc-dialogue-list p { color:#625666; line-height:2.05; margin:0; font-size:.94rem; }
.mc-faq-list { border:1px solid #ece2e9; border-radius:15px; overflow:hidden; margin:18px 0 35px; }
.mc-faq-list details { padding:16px 18px; border-bottom:1px solid #ece2e9; }
.mc-faq-list details:last-child { border-bottom:0; }
.mc-faq-list details[open] { background:#fdf9fd; }
.mc-faq-list summary { cursor:pointer; font-weight:800; color:#56355e; line-height:1.8; }
.mc-faq-list p { margin:9px 0 0; color:#665a6a; line-height:2.1; }
.mc-rating { border-radius:21px; background:#fcf8fc; border:1px solid #eadfea; margin:35px 0; padding:27px; display:grid; grid-template-columns:1.2fr 1fr; gap:20px; align-items:center; }
.mc-rating h2 { color:#542d60; font-size:1.4rem; margin:8px 0; }
.mc-rating p { color:#645869; line-height:2; font-size:.9rem; margin:7px 0; }
.mc-rating-totals strong { color:#5d3969; }
.mc-stars-form { text-align:center; padding:14px 12px; background:#fff; border:1px solid #eee1ed; border-radius:14px; }
.mc-stars-form fieldset { border:0; margin:0; padding:0; }
.mc-stars-form legend { margin:0 auto 8px; color:#725c7a; font-size:.88rem; }
.mc-star-row { display:flex; justify-content:center; gap:8px; direction:rtl; }
.mc-star-row label { cursor:pointer; position:relative; display:block; }
.mc-star-row input { position:absolute; opacity:0; width:100%; height:100%; cursor:pointer; }
.mc-star-row label>span[aria-hidden] { font-size:2.3rem; color:#d5cad5; transition:color .18s; display:inline-block; line-height:1.4; }
.mc-star-row label.is-active>span[aria-hidden], .mc-star-row input:checked+span { color:#d49e47; }
.mc-star-row input:focus-visible+span { outline:2px solid #9263a2; outline-offset:3px; }
.mc-stars-form button { margin:8px auto 0; }
.mc-vote-feedback { display:block; margin:10px auto 0; color:#5a3563; font-size:.8rem; min-height:1.6em; }
.mc-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.mc-bottom-cta { padding:25px; margin:26px 0; text-align:center; border-radius:18px; color:#fff; background:linear-gradient(120deg,#3d254a,#744778); }
.mc-bottom-cta strong { font-size:1.2rem; }
.mc-bottom-cta p { color:#fff1fc; margin:7px 0 14px; }
.mc-bottom-cta a { display:inline-block; background:#f2d7aa; color:#392142; text-decoration:none; padding:8px 19px; border-radius:40px; font-weight:800; }
@media(max-width:900px) { .mc-hero { grid-template-columns:1fr; } .mc-hero img { order:-1; max-height:280px; min-height:210px; } .mc-elements-grid { grid-template-columns:1fr; } .mc-element-card { grid-template-columns:145px 1fr; } }
@media(max-width:690px) { .mc-two-people,.mc-invite,.mc-rating,.mc-dialogue-list,.mc-score-grid,.mc-result-pair { grid-template-columns:1fr; } .mc-form-panel { padding:18px 12px; } .mc-person-card { padding:18px 11px; } .mc-score-grid { gap:16px; } .mc-result-story { grid-template-columns:1fr; } .mc-result-story img { height:155px; min-height:0; } .mc-result-story>div { padding:0 19px 18px; } .mc-result-header,.mc-result-sections,.mc-result-actions { padding-right:17px; padding-left:17px; } .mc-result-pair { padding:0 17px 20px; } .mc-result-story,.mc-explain,.mc-practice { margin-right:17px; margin-left:17px; } .mc-elements-grid { grid-template-columns:1fr; } .mc-element-card { grid-template-columns:115px 1fr; } .mc-element-card img { min-height:185px; } .mc-article-section>p { text-align:right; } .mc-hero-copy { padding:23px; } }
@media(max-width:390px) { .mc-date-fields { gap:5px; grid-template-columns:.83fr 1.09fr 1fr; } .mc-date-fields .mc-select,.mc-date-fields .mc-text-input { font-size:.81rem; padding-inline:3px; } .mc-invite-cards span { padding:14px 7px; } }
@media(prefers-reduced-motion:reduce) { .mc-main-btn, .mc-star-row span { transition:none; } }
@media print { .site-header,.sidebar,.site-footer,.breadcrumbs,.mc-hero,.mc-form-panel,.mc-guide,.mc-rating,.mc-bottom-cta,.mc-invite,.mc-result-actions,.article-meta,.mc-start-link { display:none!important; } .layout,.content,.article { display:block!important; width:100%!important; max-width:none!important; } .mc-result { margin:0!important; border:0!important; box-shadow:none!important; } .mc-result-sections>section { break-inside:avoid; } }

/* Stage 2 — fully scoped, responsive, independent of site stylesheet. */
.mc-stage2-title { padding:2px 0 18px; max-width:760px; margin:0 auto; text-align:center; }
.mc-stage2-title h3 { font-size:clamp(1.4rem,2.3vw,1.9rem); color:#4e2b5d; line-height:1.65; margin:5px 0 7px; }
.mc-stage2-title p { color:#706177; line-height:2.05; font-size:.93rem; margin:0; }
.mc-score-formula { margin:13px 0; padding:15px 17px; border:1px solid #decada; background:#fff; color:#563760; border-radius:12px; line-height:2.1; }
.mc-score-rules { padding-right:25px; margin:10px 0; line-height:2.1; }
.mc-score-rules li { margin:6px 0; }
.mc-love-map { margin:8px 25px 31px; border-radius:21px; padding:26px 18px 21px; color:#fff; background:radial-gradient(ellipse at 50% 0%,#775080 0%,#402448 48%,#23172f 100%); box-shadow:0 15px 30px rgba(44,22,61,.1); overflow:hidden; }
.mc-love-map .mc-stage2-title h3 { color:#ffeed4; }
.mc-love-map .mc-stage2-title p { color:#f6e8f6; }
.mc-love-map .mc-kicker { color:#efd29a; }
.mc-map-canvas { position:relative; max-width:760px; min-height:255px; margin:0 auto; display:flex; align-items:center; justify-content:center; background-image:radial-gradient(circle at 15% 17%,#e8c6e7 1px,transparent 1.5px),radial-gradient(circle at 83% 43%,#f7e0ac 1px,transparent 1.5px); background-size:120px 130px,160px 150px; }
.mc-map-threads { position:absolute; top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.7; }
.mc-map-points { position:relative; z-index:1; width:100%; display:grid;grid-template-columns:1fr 1.12fr 1fr; align-items:center; justify-items:center; gap:6px; }
.mc-map-node { display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px; width:clamp(94px,15vw,158px); height:clamp(94px,15vw,158px); border-radius:50%; border:2px solid #b995bd; background:radial-gradient(circle at 40% 15%,#84648b,#493154 75%); color:#fff; font:inherit; cursor:pointer; padding:8px; text-align:center; box-shadow:0 6px 20px rgba(9,6,19,.29); transition:border-color .16s,transform .16s; }
.mc-map-node:focus-visible { outline:3px solid #ffde8d; outline-offset:4px; }
.mc-map-node:hover,.mc-map-node.is-active { border-color:#f4d295;transform:translateY(-3px); }
.mc-map-node-core { width:clamp(110px,17vw,174px);height:clamp(110px,17vw,174px);background:radial-gradient(circle at 45% 25%,#ae6d8a,#61315f 79%); }
.mc-map-node strong { font-size:clamp(.78rem,1.4vw,1rem); color:#fff; white-space:normal;overflow-wrap:anywhere;line-height:1.3; }
.mc-map-node small { color:#f5d9ed;font-size:clamp(.65rem,1vw,.79rem);line-height:1.3; }
.mc-map-sigil { display:block; font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2; }
.mc-map-caption { max-width:690px;margin:7px auto 0;padding:17px 20px 18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);border-radius:14px;text-align:center;line-height:2.1; }
.mc-map-caption strong { color:#fce3ae; }
.mc-map-caption p { margin:4px 0 0;color:#fff5fa;font-size:.89rem; }
.mc-four-seasons { padding:22px 25px 29px; }
.mc-seasons-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }
.mc-season-card { background:#fff;border:1px solid #eee3ea;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px rgba(69,36,83,.055); }
.mc-season-card img { width:100%;height:155px;object-fit:cover;display:block; }
.mc-season-body { padding:16px 19px 20px; }
.mc-season-count { font-size:.76rem; font-weight:800;color:#92668e; }
.mc-season-body h4 { font-size:1.12rem;line-height:1.75;color:#563161;margin:3px 0 9px; }
.mc-season-body p { color:#605565;line-height:2.07;margin:0 0 11px;font-size:.92rem; }
.mc-season-tip { padding:10px 12px;border-right:3px solid #c39cba;background:#fcf6fc;border-radius:7px;color:#704e71;font-size:.84rem;line-height:1.95; }
.mc-season-ending { background:#fcf8f1;border-radius:12px;border:1px solid #f0e7dc;color:#654f50;padding:15px 19px;line-height:2.05;margin:17px 0 0; }
.mc-dialogue-kit { margin:0 25px 27px; padding:25px 23px; border-radius:18px;background:#f9f5f9;border:1px solid #eee3ed; }
.mc-prompt-list { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px; }
.mc-prompt-list li { min-width:0; display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid #eee2ed;border-radius:11px;padding:13px 12px;color:#584b5f;line-height:1.95;font-size:.89rem; }
.mc-prompt-no { display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:100px;color:#fff;background:#77507f;font-weight:800;font-size:.84rem; }
.mc-discussion-notice { padding:15px 17px;margin-top:15px;background:#fff8ec;border:1px solid #ecddc2;border-radius:12px;color:#665547;line-height:2.05;font-size:.9rem; }
.mc-share-studio { margin:12px 25px 32px;border:1px solid #e6d6e5;border-radius:19px;padding:24px;display:grid;grid-template-columns:1.1fr .9fr;gap:23px;align-items:center;background:linear-gradient(115deg,#f9eff9,#fffdf9); }
.mc-share-copy h3 { font-size:1.45rem;margin:7px 0 10px;color:#542d5e; }
.mc-share-copy p { color:#62566b;line-height:2.06;font-size:.93rem;margin:5px 0 15px; }
.mc-card-privacy { display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:700;line-height:1.7;color:#543b60;cursor:pointer; }
.mc-card-privacy input { width:18px;height:18px;accent-color:#744680; }
.mc-share-copy p.mc-share-note { font-size:.8rem;color:#817183;margin:6px 0 14px; }
.mc-share-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.mc-share-actions .mc-main-btn { padding:9px 18px;min-height:43px; }
.mc-share-actions button:disabled { opacity:.54;cursor:wait; }
.mc-share-copy p.mc-card-status { min-height:1.7em;margin:9px 0 0;color:#704775;font-size:.81rem; }
.mc-share-preview { position:relative;overflow:hidden;min-height:210px;aspect-ratio:1200 / 630;border-radius:14px;background:#311d42;box-shadow:0 15px 26px rgba(68,37,73,.18); }
.mc-share-preview>img { width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0; }
.mc-share-preview-overlay { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;background:linear-gradient(180deg,rgba(26,13,36,.24),rgba(26,13,36,.77));color:#fff;padding:15px; }
.mc-share-preview-overlay span { color:#f3cf94;font-size:.83rem; }
.mc-share-preview-overlay strong { font-size:clamp(1rem,2.3vw,1.55rem);color:#fff4d5; }
.mc-share-preview-overlay small { font-size:.76rem;color:#f0deed; }
@media(max-width:850px) { .mc-share-studio { grid-template-columns:1fr; }.mc-share-preview { max-width:600px;width:100%;margin:0 auto;min-height:190px; } }
@media(max-width:690px) { .mc-love-map,.mc-dialogue-kit,.mc-share-studio { margin-left:13px;margin-right:13px; }.mc-love-map { padding:20px 10px 16px; }.mc-map-canvas { min-height:195px; }.mc-map-node { width:clamp(85px,24vw,124px);height:clamp(85px,24vw,124px); }.mc-map-node-core { width:clamp(98px,27vw,139px);height:clamp(98px,27vw,139px); }.mc-four-seasons { padding:16px 14px; }.mc-seasons-grid,.mc-prompt-list { grid-template-columns:1fr; }.mc-season-card img {height:175px;}.mc-dialogue-kit { padding:20px 13px; }.mc-share-studio { padding:18px 13px; }.mc-map-points { gap:2px; }.mc-map-node strong { font-size:.78rem; } }
@media(max-width:350px) { .mc-map-node {width:82px;height:82px;}.mc-map-node-core{width:93px;height:93px;}.mc-map-node small{font-size:.62rem;}.mc-map-sigil{font-size:1.4rem;} }
@media(prefers-reduced-motion:reduce) { .mc-map-node {transition:none;} }
@media print { .mc-map-node {box-shadow:none!important;color:#222!important;} .mc-love-map { background:#fff!important;color:#222!important;box-shadow:none!important; } .mc-love-map .mc-stage2-title h3,.mc-love-map .mc-stage2-title p,.mc-map-caption p,.mc-map-caption strong { color:#222!important; } .mc-share-studio,.mc-share-actions { display:none!important; } .mc-seasons-grid { display:block!important; }.mc-season-card {break-inside:avoid;margin-bottom:15px;} .mc-dialogue-kit {break-inside:avoid;} }

/* 22.4: make calculator layout independent of wrapper markup in site templates. */
.mc-form-panel, .mc-form-panel *, .mc-hero, .mc-hero * { box-sizing:border-box; }
.mc-form-panel .mc-person-card { min-width:0; }
.mc-form-panel input, .mc-form-panel select { max-width:100%; }


/* 22.5 — educational disclosure cards, scoped to the project components. */
.psx-root .pse-guide,.psx-root .pse-practical{margin:10px 0;border:1px solid #e6d2eb;border-radius:12px;background:#fdf9ff;color:#4b365b;overflow:hidden;line-height:1.9;min-width:0}
.psx-root .pse-guide summary,.psx-root .pse-practical summary{padding:10px 13px;cursor:pointer;font-weight:750;color:#743b7e;list-style-position:inside}
.psx-root .pse-guide[open] summary,.psx-root .pse-practical[open] summary{border-bottom:1px solid #ebddef;background:#f8f0fb}
.psx-root .pse-guide p,.psx-root .pse-practical p{padding:0 13px;margin:9px 0 11px;line-height:1.9;overflow-wrap:anywhere}
.psx-root .pse-guide strong,.psx-root .pse-practical strong{color:#6c3678}
.psx-root .pse-context{border-right:4px solid #b773a3;background:#fcf5fd;border-radius:9px;padding:12px 15px;color:#63496f;line-height:1.85}
.psx-root .pse-method-card{border-right:4px solid #b773a3}
.psx-root .pse-next{color:#6e407d;font-weight:650}
.psq-root .pse-topic-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;background:#fcf7ff;border:1px solid #e4cceb;border-radius:14px;padding:15px;margin:18px 0;min-width:0}
.psq-root .pse-topic-pick h3,.psq-root .pse-topic-pick>p{width:100%;margin:0}
.psq-root .pse-topic-pick>p{line-height:1.85}
.psq-root .pse-topic-pick label{flex:1 1 250px;display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:700;color:#704b7e}
.psq-root .pse-topic-pick select{background:white;color:#44304f;border:1px solid #d8c3df;border-radius:9px;padding:9px;min-height:42px;max-width:100%;width:100%}
.psq-root .pse-topic-pick button{flex:0 1 auto;min-height:42px}
.psq-root .pse-topic-tip{background:white;padding:10px;border-radius:9px;overflow-wrap:anywhere}
@media(max-width:580px){.psq-root .pse-topic-pick{display:block}.psq-root .pse-topic-pick label,.psq-root .pse-topic-pick button{display:block;width:100%;margin-top:10px}.psx-root .pse-guide p,.psx-root .pse-practical p{padding:0 10px}}
@media print{.psx-root .pse-guide,.psx-root .pse-practical{break-inside:avoid}.psx-root .pse-guide summary,.psx-root .pse-practical summary{color:#333}.psq-root .pse-topic-pick{display:none}}
