.transaction-feedback-suppressed{display:none!important}
.transaction-notice-source{display:none!important}
/* One quiet jade strip for game notices. The source nodes still belong to the
   controllers; only their presentation moves, including inside native dialogs. */
#app .game-notice-source{display:none!important}
#app .chain-activities #detail:has(> .game-notice-source:only-child){display:none}
#app .game-notice-rail{position:fixed;z-index:30;left:var(--notice-left,0px);top:var(--notice-top,56px);width:var(--notice-width,100%);pointer-events:none;margin:0;padding:0;border:0;border-radius:0;background:#254a3a;color:#ffe2ac;text-align:left;box-shadow:none;font:400 12px/1.6 var(--sans,system-ui,sans-serif);letter-spacing:0;min-width:0}
#app .game-notice-rail[hidden]{display:none}
#app .game-notice-panel{pointer-events:auto;box-shadow:0 5px 12px #18362822;display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .22s ease,opacity .18s ease;visibility:visible}
#app .game-notice-clip{min-height:0;overflow:hidden}
#app .game-notice-content{position:relative;padding:7px 42px 8px 14px}
#app .game-notice-text{margin:0;padding:0;color:inherit;font:inherit;white-space:pre-line;overflow-wrap:anywhere;max-height:26dvh;overflow:auto}
#app .game-notice-rail button{display:inline-flex;align-items:center;justify-content:center;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;box-shadow:none;min-width:0;cursor:pointer}
#app .game-notice-rail button:focus-visible{outline:1px solid #ffe2ac;outline-offset:-3px}
#app .game-notice-rail .game-notice-close{position:absolute;right:3px;top:0;width:36px;min-height:36px;height:36px;padding:10px;font:0/1 system-ui;white-space:nowrap;color:#d1bf8a}
#app .game-notice-actions{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:5px}
#app .game-notice-actions button{min-height:32px;padding:3px 0;text-decoration:underline;text-underline-offset:4px}
#app .game-notice-actions button:disabled{opacity:.5;cursor:wait}
#app .game-notice-actions[hidden],#app .game-notice-peek[hidden]{display:none}
#app .game-notice-rail .game-notice-peek{position:fixed;pointer-events:auto;right:var(--notice-right,12px);top:var(--notice-top,56px);min-height:32px;padding:4px 10px;gap:5px;border:1px solid #a78f5c66;border-top:0;border-radius:0 0 8px 8px;background:#254a3a;color:#daca9c;font-size:10px;line-height:1.4;z-index:2}
#app .game-notice-peek>span:first-child{color:#e7cf86;font-size:19px;line-height:12px}
#app .game-notice-rail[data-folded="true"] .game-notice-panel{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .22s ease,opacity .18s ease,visibility 0s .22s}
#app dialog .game-notice-rail{margin:0;flex-shrink:0}
#app dialog>.game-notice-rail:first-child{border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
@media(prefers-reduced-motion:reduce){#app .game-notice-panel{transition:none!important}}
/* Persistent transaction reminders sit above the navigation, outside layout.
   Opaque text over lightly translucent paper keeps the small format readable. */
body .transaction-notice-stack{position:fixed;z-index:43;left:50%;bottom:calc(var(--nav-height,76px) + 12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(488px,calc(100% - 28px));max-height:55dvh;display:flex;flex-direction:column;align-items:stretch;gap:8px;pointer-events:none}
body .transaction-notice{position:relative;isolation:isolate;box-sizing:border-box;display:grid;grid-template-columns:32px minmax(0,1fr) 28px;column-gap:12px;padding:18px 18px 8px;margin:0;border:1px solid #bda576a3;border-radius:14px 4px 14px 4px;background:linear-gradient(120deg,#fff9eaf0,#efe9d9ed);color:#2b4b40;box-shadow:0 12px 36px #0a30243b,inset 0 1px #fffcf3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:auto;animation:transaction-notice-enter .2s ease-out}
body .transaction-notice::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:5px;border:1px solid #b59d6430;border-radius:9px 2px 9px 2px}
body .transaction-notice::after{content:"";position:absolute;pointer-events:none;top:-1px;left:20px;width:36px;height:2px;background:#a98b50}
body .transaction-notice-mark{align-self:start;margin-top:1px;color:#9c7b42}
body .transaction-notice-mark svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
body .transaction-notice-mark svg path:first-child{stroke-opacity:.55}
body .transaction-notice-copy{min-width:0}
body .transaction-notice h2{margin:0 0 5px;font:600 16px/1.5 var(--serif,serif);letter-spacing:.08em;color:#284e40}
body .transaction-notice p{margin:0;font:400 13px/1.7 var(--sans,system-ui,sans-serif);color:#70674f;overflow-wrap:anywhere;max-height:19dvh;overflow:auto;scrollbar-width:thin;scrollbar-color:#bda576 transparent}
body .transaction-notice button{box-sizing:border-box;min-width:44px;min-height:44px;margin:0;border:0;border-radius:5px;background:transparent;font:500 13px/1.5 var(--sans,system-ui,sans-serif);color:#2e5848;cursor:pointer;box-shadow:none;transition:background-color .15s,color .15s}
body .transaction-notice button:hover{background:#a8976814}
body .transaction-notice button:focus-visible{outline:2px solid #527464;outline-offset:2px}
body .transaction-notice button:disabled{cursor:wait;opacity:.55}
body .transaction-notice .transaction-notice-close{margin:-11px -10px 0 -6px;padding:12px;align-self:start;color:#847855}
body .transaction-notice-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round}
body .transaction-notice-actions{grid-column:2/4;display:flex;align-items:center;gap:14px;margin-top:10px;border-top:1px solid #ac95603b;padding-top:2px}
body .transaction-notice .transaction-notice-check{display:inline-flex;align-items:center;gap:9px;padding:0 2px;color:#2e5848}
body .transaction-notice-check svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
body .transaction-notice-check[aria-busy="true"] svg{animation:transaction-feedback-orbit 1.6s linear infinite}
body .transaction-notice .transaction-notice-retry{margin-left:auto;padding:0 4px;color:#8b6946;font-size:12px}
body .transaction-notice .transaction-notice-peek{display:none}
body .transaction-notice.is-collapsed{display:block;align-self:flex-end;padding:0 14px;border-radius:20px 4px}
body .transaction-notice.is-collapsed::after{display:none}
body .transaction-notice.is-collapsed::before{border-radius:15px 2px}
body .transaction-notice.is-collapsed>:not(.transaction-notice-peek){display:none}
body .transaction-notice.is-collapsed .transaction-notice-peek{display:block;padding:0 5px;font-size:12px;letter-spacing:.04em}
body .transaction-notice[hidden],body .transaction-notice button[hidden]{display:none}
/* A modal remains the sole interaction surface while a wallet review is open. */
body:has(dialog[open]) .transaction-notice-stack{visibility:hidden}
:is(#app,body):has(.transaction-notice:not([hidden])) .transaction-feedback-host .transaction-feedback-reopen{bottom:calc(var(--nav-height,76px) + var(--transaction-notice-height,160px) + 20px + env(safe-area-inset-bottom))}
@keyframes transaction-notice-enter{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(max-width:360px){body .transaction-notice{grid-template-columns:26px minmax(0,1fr) 26px;column-gap:9px;padding:15px 14px 7px}body .transaction-notice-mark svg{width:26px;height:26px}body .transaction-notice h2{font-size:15px}body .transaction-notice-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){body .transaction-notice,body .transaction-notice-check[aria-busy="true"] svg{animation:none}}
.transaction-feedback-host .transaction-feedback-dialog{position:fixed;inset:0;margin:auto;width:min(390px,calc(100% - 32px));max-width:390px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));box-sizing:border-box;overflow:auto;padding:32px 24px 22px;border:1px solid #ad935e;border-radius:18px 5px;background-color:#f4ecd8;color:#25483c;text-align:center;box-shadow:0 24px 90px #092c276b;animation:transaction-feedback-enter .22s ease-out}
.transaction-feedback-dialog::backdrop{background:#102f2870;backdrop-filter:blur(5px)}
.transaction-feedback-host .transaction-feedback-dialog h2{margin:6px 0 14px;font:600 23px/1.5 var(--serif,serif);overflow-wrap:anywhere}
.transaction-feedback-dialog .transaction-feedback-eyebrow{margin:16px 0 0;color:#7e6c44;font-size:12px;letter-spacing:.2em}
.transaction-feedback-dialog .transaction-feedback-message{margin:0;min-height:3.5em;font-size:16px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.transaction-feedback-dialog .transaction-feedback-note{margin:14px 0 18px;font-size:12px;line-height:1.75;color:#776e59}
:is(#app,body) .transaction-feedback-host .transaction-feedback-dialog .transaction-feedback-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;background:transparent;color:#416153;font-size:28px;line-height:1;border-radius:50%;cursor:pointer}
:is(#app,body) .transaction-feedback-host .transaction-feedback-dialog .transaction-feedback-dismiss{min-height:48px;width:100%;padding:10px 16px;border:1px solid #9eaa89;border-radius:8px 3px;background:#e4e7d3;color:#254d40;font:inherit;font-size:14px;cursor:pointer}
.transaction-feedback-seal{position:relative;display:grid;place-items:center;width:72px;height:72px;margin:4px auto 0;border:1px solid #b69c67;border-radius:50%;background:radial-gradient(circle,#e6ebd8,#d9dfc3);color:#376653}
.transaction-feedback-seal span{font:30px var(--serif,serif)}
.transaction-feedback-seal::after{content:"";position:absolute;inset:-7px;border:1px solid #b4a06c55;border-top-color:#547b65;border-right-color:#a98e52;border-radius:50%;animation:transaction-feedback-orbit 2.4s linear infinite}
.transaction-feedback-dialog[data-state="error"] .transaction-feedback-seal{color:#944c35;background:#efe0c7}
.transaction-feedback-dialog[data-state="error"] .transaction-feedback-seal span{font-size:0}
.transaction-feedback-dialog[data-state="error"] .transaction-feedback-seal span::after{content:"!";font:28px serif}
.transaction-feedback-dialog:not([aria-busy="true"]) .transaction-feedback-seal::after{animation:none;border-color:#b4a06c88}
:is(#app,body) .transaction-feedback-host .transaction-feedback-reopen{position:fixed;z-index:42;right:max(16px,calc((100vw - 520px)/2 + 16px));bottom:calc(var(--nav-height,76px) + 12px + env(safe-area-inset-bottom));min-height:44px;max-width:calc(100vw - 32px);padding:10px 18px;border:1px solid #b59e68;border-radius:22px 5px;background:#2a5749;color:#faf0d8;font:inherit;font-size:14px;box-shadow:0 6px 20px #173d342f;cursor:pointer}
:is(#app,body) .transaction-feedback-host .transaction-feedback-reopen[data-state="error"]{background:#7f4c3b}
.transaction-feedback-dialog button:focus-visible,.transaction-feedback-reopen:focus-visible{outline:3px solid #477562;outline-offset:3px}
.transaction-retry-dialog dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;margin:20px 0;padding:16px 0;border-block:1px solid #b69c6750;text-align:left;font-size:14px;line-height:1.65}
.transaction-retry-dialog dt{color:#776e59}
.transaction-retry-dialog dd{margin:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.transaction-retry-dialog .button.secondary{margin-top:10px;min-height:44px;width:100%}
@keyframes transaction-feedback-enter{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes transaction-feedback-orbit{to{transform:rotate(360deg)}}
@media(max-width:340px){.transaction-feedback-host .transaction-feedback-dialog{padding:30px 18px 18px}.transaction-feedback-host .transaction-feedback-dialog h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.transaction-feedback-host .transaction-feedback-dialog,.transaction-feedback-seal::after{animation:none}}

#app .game-notice-rail .game-notice-close svg{display:block;flex:none;width:16px;height:16px;pointer-events:none}
