/* Result identity is independent of faction colors and growth rolls. */
.outcome-banner{--outcome-bg:#e9edf5;--outcome-ink:#3f434b;--outcome-line:#73777f;display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px 18px;margin:16px 0;padding:22px;border:2px solid var(--outcome-line);border-left:7px solid var(--outcome-line);border-radius:12px;background:var(--outcome-bg);color:var(--outcome-ink);}
.outcome-failure{--outcome-bg:#f8e9e4;--outcome-ink:#842d29;--outcome-line:#b3655c;}
.outcome-critical{--outcome-bg:#faf0d8;--outcome-ink:#74500d;--outcome-line:#a57b29;}
.outcome-complete{--outcome-bg:#e6edf4;--outcome-ink:#314f70;--outcome-line:#65829e;}
.outcome-death{--outcome-bg:#e4e3e8;--outcome-ink:#493d52;--outcome-line:#746581;}
.outcome-symbol{display:grid;place-items:center;width:66px;height:66px;border:2px solid var(--outcome-line);border-radius:50%;font:700 36px/1 var(--serif);color:var(--outcome-ink);align-self:center;}
.outcome-banner .outcome-kicker{font:700 11px/1.5 var(--sans);letter-spacing:1px;}
.outcome-banner h3{font:800 clamp(27px,4vw,38px)/1.3 var(--serif);margin:4px 0 8px;color:var(--outcome-ink)!important;}
.outcome-banner .outcome-choice{margin:0;font:700 15px/1.6 var(--sans);color:var(--outcome-ink)!important;word-break:keep-all;overflow-wrap:anywhere;}
.outcome-chance{display:inline-block;margin-top:8px;font:600 12px/1.5 var(--sans);}
.outcome-banner .outcome-note{grid-column:1/-1;border-top:1px solid var(--outcome-line);padding-top:12px;margin:0;font:500 13px/1.7 var(--sans);color:var(--outcome-ink)!important;}
.outcome-receipt{background:var(--surface-inset,#edf1f9);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:12px 0 22px;}
.outcome-receipt-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;}
.outcome-receipt-head>span{font-size:12px;color:var(--muted);}
.outcome-receipt ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:12px 0 0;gap:8px;}
.outcome-receipt li{display:flex;gap:14px;justify-content:space-between;border:1px solid #a4a8b0;background:#f5f9ff;border-radius:5px;padding:5px 10px;min-width:100px;}
.outcome-receipt li.is-gain{color:#245f3a!important;}.outcome-receipt li.is-loss{color:#8b392f!important;}
.outcome-receipt p{font-size:13px;margin:10px 0 0;}.outcome-receipt dl{margin:0;display:grid;gap:10px;}.outcome-receipt dl>div{display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px;}.outcome-receipt dd{margin:0;font-weight:700;text-align:right;}.outcome-receipt dt{color:var(--muted);flex-shrink:0;}
.review-feedback-story{font-size:14px;line-height:1.8;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;}.review-feedback>.primary{width:100%;margin-top:12px;}.result-story-title{font-size:19px!important;}
:root[data-color-mode="dark"] .outcome-banner{--outcome-bg:#30343c;--outcome-ink:#dfe3eb;--outcome-line:#a5a9b1;}
:root[data-color-mode="dark"] .outcome-failure{--outcome-bg:#432725;--outcome-ink:#ffd1c6;--outcome-line:#ce8a7c;}
:root[data-color-mode="dark"] .outcome-critical{--outcome-bg:#44381f;--outcome-ink:#ffe4a2;--outcome-line:#c6a356;}
:root[data-color-mode="dark"] .outcome-complete{--outcome-bg:#243849;--outcome-ink:#d1e6ff;--outcome-line:#8eaac5;}
:root[data-color-mode="dark"] .outcome-death{--outcome-bg:#302a36;--outcome-ink:#e5d7ef;--outcome-line:#a291b0;}
:root[data-color-mode="dark"] .outcome-receipt li{background:#2e323a;border-color:#72767e;}
:root[data-color-mode="dark"] .outcome-receipt li.is-gain{color:#bfe7bd!important;}
:root[data-color-mode="dark"] .outcome-receipt li.is-loss{background:#382a27;border-color:#927166;color:#ffcec0!important;}
@media(max-width:600px){.outcome-banner{grid-template-columns:46px minmax(0,1fr);padding:16px 13px;gap:10px 12px;border-left-width:5px;}.outcome-symbol{width:46px;height:46px;font-size:27px;}.outcome-banner h3{font-size:28px;}.outcome-banner .outcome-choice{font-size:14px;}.outcome-receipt{padding:12px;}.outcome-receipt li{flex:1 0 calc(50% - 8px);min-width:0;}.outcome-receipt dl>div{font-size:13px;}}

/* Chronicle ornaments: static borders and seals, no hover flash or motion. */
.outcome-banner{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:84px minmax(0,1fr);gap:16px 20px;padding:20px 26px 22px;border:1px solid var(--outcome-line);border-radius:4px;background:linear-gradient(135deg,#ffffff24,transparent 48%),repeating-linear-gradient(0deg,transparent 0 7px,#87733e08 7px 8px),var(--outcome-bg);box-shadow:inset 0 0 0 4px var(--outcome-bg),inset 0 0 0 5px color-mix(in srgb,var(--outcome-line) 50%,transparent),0 5px 16px #1418201c;}
.outcome-proclamation{position:relative;z-index:1;grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--outcome-ink);font:700 12px/1.6 var(--serif);letter-spacing:1.5px;padding-bottom:11px;border-bottom:1px solid color-mix(in srgb,var(--outcome-line) 50%,transparent);}
.outcome-proclamation>span:first-child,.outcome-proclamation>span:last-child{font-size:7px;flex-shrink:0;}
.outcome-heading,.outcome-note{position:relative;z-index:1;}
.outcome-banner .outcome-symbol{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:6px;width:74px;height:108px;align-self:start;margin-top:4px;transform:rotate(-4deg);border-radius:2px;border:3px double var(--outcome-line);background:color-mix(in srgb,var(--outcome-ink) 9%,var(--outcome-bg));box-shadow:inset 0 0 0 3px var(--outcome-bg),0 3px 0 color-mix(in srgb,var(--outcome-line) 25%,transparent);}
.outcome-symbol>span{writing-mode:vertical-rl;font:700 32px/1.05 var(--serif);letter-spacing:3px;}
.outcome-banner .outcome-symbol>small{font:700 9px/1 var(--serif);letter-spacing:3px;color:var(--outcome-ink);border-top:1px solid var(--outcome-line);padding-top:5px;}
.outcome-banner h3{display:flex;align-items:baseline;gap:9px;letter-spacing:-.5px;margin:4px 0 10px;}
.outcome-status-icon{font:600 19px/1 var(--sans);opacity:.9;flex-shrink:0;}
.outcome-kicker{opacity:.9;}
.outcome-chance{border:1px solid color-mix(in srgb,var(--outcome-line) 65%,transparent);padding:5px 9px;background:color-mix(in srgb,var(--outcome-bg) 90%,white);border-radius:2px;}
.outcome-chance b{font-variant-numeric:tabular-nums;}
.outcome-banner .outcome-note{border-top-style:double;border-top-width:3px;padding-top:12px;}
.outcome-watermark{position:absolute;right:24px;bottom:28px;z-index:0;pointer-events:none;font:900 clamp(100px,15vw,156px)/1 var(--serif);letter-spacing:-12px;color:var(--outcome-ink);opacity:.045;white-space:nowrap;user-select:none;}
.outcome-corner{position:absolute;width:23px;height:23px;border:3px double #ad8951;z-index:2;pointer-events:none;}
.outcome-corner.is-nw{top:7px;left:7px;border-right:0;border-bottom:0;}.outcome-corner.is-ne{top:7px;right:7px;border-left:0;border-bottom:0;}.outcome-corner.is-sw{bottom:7px;left:7px;border-right:0;border-top:0;}.outcome-corner.is-se{bottom:7px;right:7px;border-left:0;border-top:0;}
.outcome-receipt{border-radius:3px;border-top:3px double #a88e60;box-shadow:inset 0 0 0 3px #a88e6009;}
.outcome-receipt-seal{display:inline-block;margin-right:6px;border:1px solid #a78a54;padding:1px 5px;font:600 11px/1.6 var(--serif);color:var(--ink);}
.outcome-receipt-caption{font:700 12px/1.6 var(--serif);letter-spacing:1px;color:var(--ink);margin:0 0 14px;}
dialog:has(.outcome-banner){width:690px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);border:1px solid #b49a65;border-radius:5px;box-shadow:0 22px 80px #0008,inset 0 0 0 5px var(--surface,#f4f6ef),inset 0 0 0 6px #a58a5555;}
dialog:has(.outcome-banner) .modal-top{border-bottom:3px double #a78a5d;margin-bottom:18px;padding-bottom:13px;}
dialog:has(.outcome-banner) .modal-top h2{font-family:var(--serif);letter-spacing:1px;}
dialog:has(.outcome-banner) .primary[data-action="close"]{border:3px double #d4b975;border-radius:3px;box-shadow:inset 0 0 0 2px #101f252b,0 4px 10px #14182026;font-family:var(--serif);letter-spacing:.5px;min-height:48px;}
:root[data-color-mode="dark"] .outcome-corner{border-color:#c7ab70;}
:root[data-color-mode="dark"] .outcome-banner .outcome-symbol>small{color:var(--outcome-ink);}
:root[data-color-mode="dark"] .outcome-chance{background:color-mix(in srgb,var(--outcome-bg) 90%,black);}
@media(max-width:600px){.outcome-banner{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:16px 17px 18px;}.outcome-proclamation{font-size:11px;letter-spacing:.5px;gap:8px;padding-bottom:9px;}.outcome-banner .outcome-symbol{width:52px;height:88px;margin-top:5px;}.outcome-symbol>span{font-size:25px;}.outcome-banner .outcome-symbol>small{font-size:8px;letter-spacing:2px;}.outcome-banner h3{font-size:26px;gap:5px;}.outcome-status-icon{font-size:15px;}.outcome-banner .outcome-kicker{font-size:10px;letter-spacing:.2px;}.outcome-chance{font-size:11px;padding:4px 6px;}.outcome-corner{width:18px;height:18px;}.outcome-watermark{font-size:96px;right:18px;}.outcome-banner .outcome-note{font-size:12px;}dialog:has(.outcome-banner){padding:20px 16px;}.review-feedback-story{font-size:13px;}dialog:has(.outcome-banner) .modal-top{margin-bottom:12px;padding-bottom:10px;}}
