/* A paired shield-and-blade motif: one shared plan, one readable benefit. */
.fate-link-card{position:relative;margin:16px 0;padding:16px 18px;border:1px solid #91c5b94d;border-radius:13px;background:linear-gradient(125deg,#27454278,#14272ddb 65%,#353f3040);overflow:hidden;color:#d5e3dc}
.fate-link-card[data-link-ready="true"]{border-color:#caddac91;background:linear-gradient(120deg,#3652489c,#1a3439d9 65%,#4d543053)}
.fate-link-card>header{display:flex;align-items:center;gap:10px;min-width:0}
.fl-seal{display:block;width:43px;height:43px;flex:0 0 43px;color:#c8dca6}
.fl-seal svg,.fl-thread svg,.fl-receipt-art svg{display:block;width:100%;height:100%}
.fl-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:1.6px;line-height:1.7;color:#b9d4b8}
.fate-link-card h3,.fl-receipt h3{margin:2px 0 0;font-family:var(--font-display,Georgia,serif);font-weight:500;font-size:21px;line-height:1.25;color:#eef1d2}
.fl-symbols{display:flex;gap:5px;margin-left:auto;flex:0 0 auto}
.fl-symbols>span{display:grid;place-items:center;width:31px;height:34px;border:1px solid #708c956b;border-radius:7px;color:#7f99a1;background:#121e24}
.fl-symbols>span[data-met="true"]{border-color:#c7dca170;color:#dfecbb;background:#43534459}
.fl-symbols svg{width:20px;height:20px}
.fl-hint{margin:12px 0 0;font-size:13px;line-height:1.75;color:#d6e2dc;overflow-wrap:anywhere}
.fl-preview-note{margin:5px 0 0;font-size:12px;line-height:1.75;color:#b3cec1}
.fl-partners{display:flex;align-items:center;gap:10px;padding:13px 0 0}
.fl-person{display:flex;align-items:center;gap:8px;min-width:0}
.fl-person strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.fl-avatar{position:relative;display:block;width:38px;height:44px;overflow:hidden;flex:0 0 38px;border-radius:50% 50% 10px 10px;border:1px solid #b9cea864;background:radial-gradient(at 50% 70%,#5e776156,#14272c 70%)}
.fl-avatar>svg{width:62px;height:72px;position:absolute;top:2px;left:50%;transform:translateX(-50%)}
.fl-person-empty .fl-avatar>svg{width:24px;height:24px;top:10px}
.fl-thread{display:flex;align-items:center;min-width:24px;max-width:80px;flex:1;color:#d0e2ac}
.fl-thread>span{height:1px;background:linear-gradient(90deg,transparent,#c9dfa2);flex:1}
.fl-thread>span:last-child{transform:rotate(180deg)}
.fl-thread>svg{width:31px;height:31px;flex:0 0 31px}
.fl-bonus{display:flex;flex-direction:column;align-items:center;margin-left:auto;padding-left:12px;border-left:1px solid #b5c9974f;white-space:nowrap}
.fl-bonus b{font-family:Georgia,serif;font-size:29px;line-height:1.05;color:#e7eabc;font-weight:400}
.fl-bonus small{font-size:10px;margin-top:4px;color:#c5d5b3}
.fl-details{margin-top:10px;border-top:1px solid #a8c5ab29}
.fl-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:10px;cursor:pointer;color:#c0d4c6;font-size:13px;list-style:none}
.fl-details>summary::-webkit-details-marker{display:none}
.fl-details>summary:after{content:'+';font-size:18px;font-weight:400;flex:0 0 auto}
.fl-details[open]>summary:after{content:'−'}
.fl-details>summary:focus-visible,.fl-candidate:focus-visible,.fl-goal:focus-visible,.fl-receipt button:focus-visible{outline:2px solid #e3e9b6;outline-offset:3px;border-radius:4px}
.fl-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px}
.fl-rule-grid p{margin:0;color:#b6c9c8;font-size:13px;line-height:1.8}
.fl-rule-grid strong{display:block;font-size:10px;letter-spacing:1px;color:#d1dfbf;margin-bottom:3px}
.fl-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.fl-candidate{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:76px;min-width:0;text-align:left;padding:10px 12px;border:1px solid #7da69a57;border-radius:9px;background:#0c222e62;color:#d9e6d9;font:inherit;cursor:pointer}
.fl-candidate>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#b9cdb4}
.fl-candidate svg{width:12px;height:12px}
.fl-candidate strong{font-size:13px;line-height:1.5}
.fl-candidate small{font-size:12px;color:#b4c5c6}
.fl-candidate:hover{background:#2f4b465e;border-color:#c4d6a47d}
.fl-candidate:disabled{cursor:default;opacity:.6}
.fl-lesson{font-size:13px;line-height:1.85;color:#b9c9bf;margin:13px 0 4px}
.fl-goal{min-height:44px;font-size:13px;color:#e0e4b5;white-space:normal;text-align:left}
.fl-legacy{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#2130395e;border-color:#879baf40}
.fl-legacy .fl-seal{width:32px;height:32px;flex-basis:32px;color:#9eb7b4}
.fl-legacy p{margin:0;font-size:13px;line-height:1.7;color:#b4c3c8}
.fl-legacy strong{color:#d6dccd}
.fl-receipt{display:flex;gap:16px;align-items:flex-start;margin:16px 0;padding:19px;border:1px solid #b5d39b5c;border-radius:13px;background:linear-gradient(115deg,#334a3d8f,#152d35d6 78%);color:#bcd0c5}
.fl-receipt-art{width:70px;height:70px;flex:0 0 70px;display:block;color:#c6d79f;padding:4px;border-radius:15px;background:radial-gradient(#bfd49218,transparent 75%)}
.fl-receipt>div{min-width:0}
.fl-receipt h3{font-size:25px;margin:4px 0 8px}
.fl-receipt p{font-size:13px;line-height:1.8;margin:7px 0;overflow-wrap:anywhere}
.fl-receipt button{margin-top:8px;min-height:44px;white-space:normal;font-size:13px;text-align:left}
.fl-new-finish{border-color:#d6deac82;background:radial-gradient(at 0 25%,#cbd48729,transparent 65%),linear-gradient(115deg,#33493caa,#182e36eb)}
.fl-new-finish .fl-receipt-art{color:#eef1bd;box-shadow:inset 0 0 0 1px #c5d2953d}
.fl-command-note{display:block;margin-top:7px;color:#e1e8b6;font-size:12px;line-height:1.6}
.bd-link-note{border:1px solid #b2cd9b55;border-radius:9px;background:#314c3e48;color:#d7e4c1;padding:12px;line-height:1.8;font-size:13px}
@media(max-width:600px){.fate-link-card{padding:13px 14px}.fl-person{flex-direction:column;gap:4px;text-align:center}.fl-person strong{font-size:12px}.fl-partners{gap:8px}.fl-thread{max-width:54px}.fl-rule-grid{grid-template-columns:1fr}.fl-receipt{padding:15px;gap:12px}.fl-receipt-art{width:49px;height:49px;flex-basis:49px}.fl-receipt h3{font-size:23px}.fl-bonus b{font-size:27px}.fl-kicker{letter-spacing:1.1px}}
@media(max-width:360px){.fl-candidates{grid-template-columns:1fr}.fl-symbols>span{width:27px}.fl-receipt{gap:9px}.fl-receipt-art{width:37px;height:37px;flex-basis:37px}.fl-bonus{padding-left:8px}}
@media(prefers-reduced-motion:reduce){.fate-link-card *,.fl-receipt *{scroll-behavior:auto}}
