/* Naka Sigil: original pixel geometry, charcoal/amber/violet. No external artwork or fonts. */
.shn-badge,.shn-panel,.shn-pop,.shn-scope { --shn-fg:#f4eee4; --shn-bg:#292724; --shn-line:#6f665b; box-sizing:border-box; font-family:ui-monospace,"SFMono-Regular",Consolas,"PingFang SC","Microsoft YaHei",monospace; }
.shn-badge { position:absolute; right:6px; bottom:6px; display:inline-flex; align-items:center; gap:4px; height:24px; max-width:calc(100% - 12px); padding:0 6px; border:1px solid var(--shn-line); border-radius:0; background:var(--shn-bg); box-shadow:2px 2px 0 #080808; color:var(--shn-fg); font-size:12px; font-weight:800; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; cursor:pointer; border-width:1px; }
.shn-badge:focus-visible { outline:2px solid #f2a64b; outline-offset:2px; }
.shn-badge__icon { flex:none; width:12px; height:12px; }
.shn-badge__label { font-size:9px; font-weight:500; }
.shn-badge--list { position:relative; right:auto; bottom:auto; flex-shrink:0; margin-left:auto; }
button:has(> .shn-badge--vault) { position:relative; container-type:inline-size; }
.shn-badge--vault { top:calc(100cqw - 6px); transform:translateY(-100%); bottom:auto; }
.shn-badge--listed { position:relative; right:auto; bottom:auto; margin-top:4px; }
.shn-badge.shn-t-t1 { --shn-bg:#163d2a; --shn-fg:#b6f0c9; --shn-line:#4d9866; }
.shn-badge.shn-t-t2 { --shn-bg:#193451; --shn-fg:#c0e2ff; --shn-line:#558dc0; }
.shn-badge.shn-t-t3 { --shn-bg:#41234f; --shn-fg:#edcafa; --shn-line:#a270b5; }
.shn-badge.shn-t-max { --shn-bg:#44351c; --shn-fg:#ffd17a; --shn-line:#a58b59; }
.shn-badge.shn-t-unknown { --shn-fg:#bbb1a4; }
.shn-badge.shn-is-range { border-style:dashed; }
.shn-panel,.shn-pop { padding:16px; border:1px solid #5b4731; border-top:3px solid #f2a64b; border-radius:0; background:#1b1918; box-shadow:4px 4px 0 #080808; color:#f4eee4; font-size:12px; line-height:1.5; text-align:left; border-top-color:#ffaf45; }
.shn-panel { position:relative; min-width:0; }
.shn-panel--modal { margin-top:16px; }
.shn-panel__head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #423a32; }
.shn-eyebrow { color:#cbbce0; font-size:11px; font-weight:700; letter-spacing:.04em; }
.shn-panel__snap { color:#f2bc70; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.shn-panel__hero { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.shn-panel__icon { display:flex; align-items:center; justify-content:center; flex:none; width:48px; height:48px; border:0; background:#2b221a; color:#f2a64b; box-shadow:3px 3px 0 #0b0b0b; }
.shn-panel__lock { width:32px; height:32px; }
.shn-sum { display:flex; flex-direction:column; gap:4px; min-width:0; }
.shn-sum__label { color:#d2c7b7; font-size:11px; }
.shn-sum__big { color:#ffbd63; font-size:30px; font-weight:800; line-height:1.1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.shn-estimate { margin:10px 0 12px; padding:7px 9px; border-left:2px solid #c4b5fd; background:#26211d; color:#f4c991; font-size:12px; line-height:1.6; }
.shn-breakdown { border-top:1px solid #39332c; margin-top:12px; }
.shn-breakdown summary { padding:10px 0; color:#d2c7b7; cursor:pointer; font-size:12px; }
.shn-breakdown summary:focus-visible { outline:2px solid #f2a64b; outline-offset:2px; }
.shn-rows { display:flex; flex-direction:column; border-top:1px solid #39332c; }
.shn-row { display:grid; grid-template-columns:minmax(0,1fr) auto 64px; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid #2d2924; }
.shn-row__l { display:flex; flex-direction:column; gap:1px; min-width:0; }
.shn-row__k,.shn-row__v { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shn-row__k { color:#b6ab9b; font-size:10px; }
.shn-row__v { color:#f4eee4; font-size:12px; }
.shn-row__m { color:#b6ab9b; font-size:10px; white-space:nowrap; }
.shn-row__p { color:#f2bc70; font-size:12px; font-weight:700; text-align:right; white-space:nowrap; }
.shn-row--base .shn-row__p { color:#f4eee4; }
.shn-row--zero .shn-row__p { color:#aaa092; }
.shn-row--range .shn-row__p { color:#f5ca83; }
.shn-notes { display:flex; flex-direction:column; gap:5px; margin-top:10px; }
.shn-note { margin:0; color:#b7ad9f; font-size:11px; line-height:1.6; }
.shn-note--cap,.shn-note--range { color:#f5ca83; }
.shn-panel__missing,.shn-pop__missing { margin:0; color:#d2c7b7; font-size:12px; }
.shn-pop { position:fixed; top:0; left:0; z-index:2147483600; width:340px; max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); overflow:auto; padding:13px; pointer-events:none; opacity:0; visibility:hidden; }
.shn-pop--show { opacity:1; visibility:visible; pointer-events:auto; }
.shn-pop__head { margin-bottom:8px; }
.shn-pop .shn-sum__big { font-size:26px; }
/* A two-line status strip stays subordinate to the marketplace. */
.shn-scope { margin:8px 0; padding:6px 10px; border:0; border-left:2px solid #62594c; background:#18191b80; color:#c5beb3; }
.shn-scope__head { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; min-width:0; font-size:11px; line-height:16px; }
.shn-scope__brand { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#aca59b; font-size:10px; }
.shn-scope__block { color:#d1b889; font-weight:600; white-space:nowrap; }
.shn-scope__age { color:#b1a9bb; font-size:10px; white-space:nowrap; }
.shn-scope__source { margin-left:auto; color:#9d978d; font-size:9px; white-space:nowrap; }
.shn-scope .shn-scope__note { margin:2px 0 0; color:#aaa49b; font-size:10px; line-height:15px; white-space:nowrap; }
.shn-scope:focus-visible { outline:1px solid #aa9270; outline-offset:2px; }
@media(max-width:480px) { .shn-panel { padding:12px; } .shn-scope__brand { display:none; } .shn-scope__head { gap:6px; } }
.shn-badge--activity { position:relative; right:auto; bottom:auto; display:flex; width:max-content; max-width:100%; height:21px; margin-top:4px; font-size:11px; padding:0 5px; gap:3px; }
.shn-badge--activity .shn-badge__icon { width:10px; height:10px; }
.shn-scope__head > .shn-badge__icon { width:12px; height:12px; color:#bca16d; }
@media (pointer:coarse) { .shn-badge { min-height:28px; }
  .shn-badge--activity { min-height:28px; } }
@media (max-width:360px) { .shn-panel { padding:10px; }
  .shn-row { grid-template-columns:minmax(0,1fr) auto auto; gap:5px; } }
.shn-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.shn-pixel-weight { display:block; width:auto; max-width:100%; height:28px; }
.shn-pop .shn-pixel-weight { height:21px; }
.shn-badge.shn-badge--buy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); height:auto; padding:5px 6px; gap:6px; }
.shn-buy-preview { display:flex; flex-direction:column; align-items:center; gap:4px; font-size:9px; font-weight:500; }
.shn-buy-preview+ .shn-buy-preview { padding-left:6px; border-left:1px solid var(--shn-line); }
.shn-buy-preview b { font-size:11px; font-weight:800; }


.shn-buy-preview--range b { text-decoration:underline dashed; text-underline-offset:3px; }

/* One quiet graphite frame with an integer-step silhouette, never nested panel borders. */
.shn-panel,.shn-pop { background:#19191c; border:1px solid #514d53; border-top:2px solid #bc9a64; padding:12px; box-shadow:3px 3px 0 #09090a; clip-path:polygon(0 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,100% 2px,100% 100%,4px 100%,4px calc(100% - 2px),0 calc(100% - 2px)); }
.shn-pop { width:420px; overflow:visible; max-height:calc(100dvh - 16px); }
.shn-pop__head,.shn-panel__head { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 7px; padding:0; border:0; }
/* The brand never breaks; when the buttons do not fit beside the number (Compare full has a longer label) they move to a
   second row together. */
.shn-inspect-brand { display:inline-flex; gap:6px; align-items:center; color:#e5bd7d; white-space:nowrap; }
.shn-inspect-actions { display:inline-flex; gap:6px; }
.shn-inspect-actions .shn-compare-add { margin-left:0; }
.shn-inspect-number { margin-left:auto; color:#bbb5c4; font-size:11px; font-variant-numeric:tabular-nums; }
.shn-eyebrow { color:#e2d5c0; font-size:12px; letter-spacing:.04em; }
.shn-badge { height:auto; min-height:24px; flex-wrap:wrap; gap:3px 5px; padding:4px 5px; box-shadow:1px 1px 0 #080808; }
.shn-badge__weight { display:inline-flex; align-items:center; gap:4px; }
.shn-badge.shn-badge--buy { background:#201f22; border-color:#59535f; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3px; padding:3px; }
.shn-badge--buy:has(>.naka-number-badge) { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
.shn-badge.shn-badge--buy { grid-template-columns:minmax(0,1fr); }
.shn-badge--buy:has(>.naka-number-badge) { grid-template-columns:minmax(0,1fr) auto; }
.shn-buy-preview { padding:3px 5px!important; gap:3px; background:var(--naka-tint); color:var(--naka-tone); border:0!important; border-bottom:1px solid var(--naka-tone)!important; }
.shn-buy-preview .shn-badge__label,.shn-buy-preview>span:first-child { font-size:8px; color:#d1cbc3; }
.shn-badge--activity { min-height:22px; padding:3px 4px; }
@media(max-height:620px) { .shn-pop { padding:9px; } .shn-pop__head { margin-bottom:5px; } }
/* Filled number tickets stay readable beside two scenario values. */
.shn-badge,.shn-pop { -webkit-tap-highlight-color:transparent; }
.shn-badge>.naka-number-badge { align-self:stretch; flex-direction:column; gap:1px; padding:3px 4px; min-width:25px; }
.shn-badge>.naka-number-badge .naka-number-badge__prefix { font-size:7px; line-height:1; }
.shn-badge>.naka-number-badge .naka-number-badge__value { font-size:11px; line-height:1.1; }
.shn-badge--buy:has(>.naka-number-badge) .shn-buy-preview { padding-left:2px!important; padding-right:2px!important; }
.shn-badge:has(>.naka-number-badge):not(.shn-badge--buy) { padding-top:2px; padding-bottom:2px; }
.shn-pop,.shn-panel { border-color:#49434d; border-top-color:#bca16e; background:#18191d; box-shadow:3px 3px 0 #09090a; }
.shn-pop__head,.shn-panel__head { gap:8px; margin-bottom:8px; }
.shn-inspect-brand { gap:7px; }
.shn-inspect-brand .shn-badge__icon { width:15px; height:15px; }
.shn-eyebrow { font-weight:800; letter-spacing:.02em; }
.shn-inspect-number { color:#e6dfd5; font-size:12px; font-weight:700; }
.shn-pop__head>.naka-number-badge,.shn-panel__head>.naka-number-badge { font-size:10px; padding:3px 5px; }
@media(max-height:620px) { .shn-pop__head { margin-bottom:5px; } }
@media(max-width:480px) {
  .shn-badge--buy:has(>.naka-number-badge) .shn-buy-preview { padding-left:1px!important; padding-right:1px!important; }
  .shn-badge--buy:has(>.naka-number-badge) .shn-buy-preview b { font-size:9.5px; }
  .shn-badge:has(>.naka-number-badge):not(.shn-badge--buy) { font-size:9.5px; gap:3px; padding-left:4px; padding-right:4px; }
  .shn-badge:has(>.naka-number-badge) .shn-badge__weight { gap:3px; }
  .shn-badge:has(>.naka-number-badge) .shn-badge__weight .shn-badge__label { font-size:8px; }
  .shn-badge:has(>.naka-number-badge) .shn-badge__icon { width:10px; height:10px; }
}

.shn-panel { width:100%; max-width:520px; }

/* The frame clips its pixel corners; the pointer and its hover bridge stay outside it. */
.shn-pop { padding:0; border:0; background:none; box-shadow:none; clip-path:none; max-height:none; overflow:visible; }
.shn-pop__surface { box-sizing:border-box; width:100%; padding:12px; border:1px solid #49434d; border-top:2px solid #bca16e; background:#18191d; box-shadow:3px 3px 0 #09090a; overflow:auto; clip-path:polygon(0 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,100% 2px,100% 100%,4px 100%,4px calc(100% - 2px),0 calc(100% - 2px)); }
.shn-pop__pointer { position:absolute; display:block; z-index:2; line-height:0; pointer-events:none; }
.shn-pop__pointer svg { display:block; width:100%; height:100%; overflow:visible; pointer-events:none; }
.shn-pop__pointer-edge { fill:none; stroke:#5d5662; stroke-width:1.2; stroke-linejoin:round; stroke-linecap:round; }
.shn-pop__pointer-fill { fill:#18191d; }
.shn-pop__surface { overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#776b53 #202024; }
.shn-pop__surface::-webkit-scrollbar { width:6px; height:6px; background:#202024; }
.shn-pop__surface::-webkit-scrollbar-thumb { background:#776b53; border:1px solid #202024; border-radius:0; }
.shn-pop__surface::-webkit-scrollbar-corner { background:#202024; }
.shn-badge[data-shn-open=true] { outline:1px solid #d2b47c; outline-offset:2px; }
@media(max-height:620px) { .shn-pop__surface { padding:9px; } }

/* Compact decision tools; separate workspace keeps the market inspection small. */
.shn-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 12px;padding:6px 10px;background:#171819;color:#c1bdb2;font:12px/1.4 ui-monospace,monospace;border-left:3px solid #ffb347}
.shn-tools label{display:flex;align-items:center;gap:8px}.shn-tools select,.shn-tools button,.shn-compare-add{font:inherit;color:#f3debc;background:#28241e;border:1px solid #77664d;padding:4px 8px;border-radius:0;cursor:pointer}.shn-tools select:focus-visible,.shn-tools button:focus-visible,.shn-compare-add:focus-visible{outline:2px solid #ffb347;outline-offset:2px}.shn-tools__open{margin-left:auto}.shn-tools__count{color:#aaa49b;font-size:11px}.shn-filtered{display:none!important}
.shn-compare-add{font:10px/1.4 ui-monospace,monospace;white-space:nowrap;margin-left:6px}.shn-compare-add[aria-pressed=true]{color:#9ce0bc;border-color:#58866b;background:#183125}.shn-compare-add:disabled{opacity:.5;cursor:default}.shn-pop__head{gap:7px}.shn-inspect-brand{min-width:0}.shn-pop__head .shn-eyebrow{font-size:12px}.shn-pop__head .shn-inspect-number{font-size:11px}

/* One integrated context/action bar; narrow screens use two rows. */
.shn-scope{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:5px 10px;margin:6px 0}.shn-scope__head{flex:1;min-width:220px;height:28px}.shn-scope .shn-scope__note{display:none}.shn-scope .shn-tools{margin:0;padding:0;border:0;background:none;gap:10px;flex-wrap:nowrap;font-size:11px}.shn-scope .shn-tools__open{margin-left:6px;white-space:nowrap}.shn-scope .shn-tools label{white-space:nowrap;gap:6px}.shn-scope .shn-tools select,.shn-scope .shn-tools button{padding:3px 6px}.shn-scope__source{margin-left:8px}@media(max-width:700px){.shn-scope{gap:2px 8px}.shn-scope .shn-tools{width:100%}.shn-scope .shn-tools__open{margin-left:auto}.shn-scope__source{margin-left:auto}}@media(max-width:480px){.shn-scope .shn-tools__count{display:none}}

/* Comparison control states: added (green), remove on hover/focus (red), full explains itself (dashed). */
.shn-compare-add[data-compare=selected]:not(.naka-select--fresh):is(:hover,:focus-visible){color:#ffb4a8;border-color:#8a4f47;background:#2b1a18}
.shn-compare-add[data-compare=full]{color:#d3cabc;border-style:dashed}

/* Selected for comparison: a gold frame on every badge; a text tab where the badge floats over artwork, a corner check elsewhere. */
.shn-badge[data-shn-compared]{border-color:#ffb347;box-shadow:0 0 0 1px #ffb347,2px 2px 0 1px #080808}
.shn-badge[data-shn-compared]::before{position:absolute;z-index:1;background:#ffb347;color:#1d1408;font:700 9px/13px ui-monospace,monospace;white-space:nowrap}
.shn-badge--grid[data-shn-compared]::before,.shn-badge--vault[data-shn-compared]::before,.shn-badge--wallet[data-shn-compared]::before{content:attr(data-shn-compared);left:-2px;right:-2px;bottom:calc(100% + 1px);padding:0 4px;text-align:center}
.shn-badge:not(.shn-badge--grid):not(.shn-badge--vault):not(.shn-badge--wallet)[data-shn-compared]::before{content:'✓';top:-7px;left:-7px;width:13px;text-align:center}
.shn-pop[data-shn-side=top] .shn-pop__pointer-edge { stroke:#bca16e; }

/* Standalone wallet: stay within the artwork, keeping native prices and actions intact. */
.sv-shell .sv-piece-grid button.sv-tile > .aspect-square:has(> .shn-badge--wallet),
.ps-wrap[role="dialog"] .ps-art:has(> .shn-badge--wallet) { position:relative; }
.shn-badge--wallet { right:6px; bottom:6px; font-size:11px; }
.shn-scope--wallet { margin:8px 0; padding:6px 8px; }
.shn-scope--wallet .shn-scope__head { flex-wrap:wrap; gap:4px 7px; }
.shn-scope--wallet .shn-scope__brand { font-size:9px; }
.shn-scope--wallet { gap:0 7px; }
.shn-scope--wallet .shn-scope__head { min-width:0; min-height:20px; height:auto; }
.shn-scope--wallet .shn-scope__note { display:block; flex-basis:100%; margin:0; font-size:9px; white-space:normal; }
.shn-holdings-import{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 18px;margin:12px 0 14px;padding:12px 14px;background:#17161a;border:1px solid #3a3530;border-left:3px solid #94dcb4;color:#eee8dd;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.shn-hb-summary{display:flex;align-items:center;gap:12px;min-width:0}
.shn-hb-sigil{flex:none;width:28px;height:32px;color:#ffb347}
.shn-hb-figure{display:flex;flex-direction:column;gap:3px;min-width:0}
.shn-hb-label{color:#a7a198;font-size:11px}
.shn-hb-value{display:flex;align-items:flex-end;gap:8px;color:#94dcb4}
.shn-hb-digits{display:block;width:auto;height:26px}
.shn-hb-unit{font-size:12px;font-weight:700;line-height:1}
.shn-hb-sub{color:#a7a198;font-size:10px}
.shn-hb-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.shn-holdings-import .shn-compare-add{margin:0;padding:6px 10px;font-size:11px}
.shn-hb-add[data-state=none],.shn-hb-add[data-state=some]{color:#1c140a;background:#ffb347;border-color:#ffb347;font-weight:700}
.shn-hb-add[data-state=all]{opacity:1;color:#9ce0bc;border-color:#58866b;background:#183125}
.shn-hb-foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;padding-top:8px;border-top:1px dashed #3a3530;font-size:10px}
.shn-hb-safe{color:#d6cbea}
.shn-hb-safe::before{content:'';display:inline-block;width:7px;height:8px;margin-right:7px;background:#c4b5fd;clip-path:polygon(0 3px,1px 3px,1px 1px,2px 1px,2px 0,5px 0,5px 1px,6px 1px,6px 3px,7px 3px,7px 8px,0 8px)}
.shn-hb-mine{color:#9ce0bc}
.shn-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:640px){.shn-holdings-import{grid-template-columns:1fr}.shn-hb-actions{justify-content:flex-start}.shn-hb-mine{margin-left:0}}
/* Find one Naka on the collection page (#naka-find): the card revealed like a drawn card, a status note at the top. */
/* The effect stays in the grid's 10px gutters and above the card: the artwork itself is never lit, tinted or covered. */
@property --shn-fx-turn { syntax:'<angle>'; inherits:false; initial-value:0deg; }
.shn-card-fx{position:absolute;z-index:35;pointer-events:none;--shn-fx-rim:#ffc45e}
.shn-card-fx[data-phase=steady]{--shn-fx-rim:#d6a250}
/* A 2px rim 2px off the card's edge (its radius 12px + 4px), drawn once clockwise from under the ribbon. */
.shn-card-fx__ring{position:absolute;inset:-4px;border:2px solid var(--shn-fx-rim);border-radius:16px;transition:border-color .8s;--shn-fx-turn:360deg;-webkit-mask:conic-gradient(#000 var(--shn-fx-turn),#0000 0);animation:shn-fx-draw .9s cubic-bezier(.4,0,.2,1) .1s backwards}
@keyframes shn-fx-draw{from{--shn-fx-turn:0deg}}
/* As the rim closes: a soft glow outside it, under the ribbon (an outer shadow never paints inside its box), and a tiny
   spark at each corner. */
.shn-card-fx::before{content:'';position:absolute;inset:-4px;border-radius:16px;animation:shn-fx-glow .8s ease-out .9s}
@keyframes shn-fx-glow{35%{box-shadow:0 0 5px 1px rgba(255,190,90,.6)}}
.shn-card-fx__spark{position:absolute;width:9px;height:9px;background:#ffe2a0;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:0;animation:shn-fx-spark .6s ease-out calc(.95s + var(--i) * .08s)}
.shn-card-fx__spark:nth-of-type(1){right:-10px;top:-10px}.shn-card-fx__spark:nth-of-type(2){right:-10px;bottom:-10px}.shn-card-fx__spark:nth-of-type(3){left:-10px;bottom:-10px}.shn-card-fx__spark:nth-of-type(4){left:-10px;top:-10px}
@keyframes shn-fx-spark{from{transform:scale(.3)}50%{opacity:1;transform:scale(1) rotate(45deg)}to{transform:scale(.3) rotate(90deg)}}
/* Above the card, its lower edge on the rim. No shadow: the clip-path would cut it off. */
.shn-card-fx__ribbon{position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 11px 4px;white-space:nowrap;background:linear-gradient(180deg,#ffdd7a,#e8a93a);color:#2a1a05;font:800 12px/1.15 ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid #fff0b8;clip-path:polygon(0 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,0 calc(100% - 3px));animation:shn-fx-ribbon .55s cubic-bezier(.2,1.6,.4,1) .35s both}
.shn-card-fx__ribbon span{font-size:10px;font-weight:700;color:#5a3a08}
@keyframes shn-fx-ribbon{from{opacity:0;transform:translate(-50%,8px) scale(.6)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
/* Being bought by someone else: no celebration, a grey rim. */
.shn-card-fx[data-busy=true]{--shn-fx-rim:#8d8d8d}
.shn-card-fx[data-busy=true]::before,.shn-card-fx[data-busy=true] .shn-card-fx__spark{animation:none}
.shn-card-fx[data-busy=true] .shn-card-fx__ribbon{background:#2b2b2b;color:#ddd;border-color:#6b6b6b}
.shn-card-fx[data-busy=true] .shn-card-fx__ribbon span{color:#bbb}
/* Reduced motion: the finished frame, whole rim and ribbon, from the start. */
@media (prefers-reduced-motion:reduce){.shn-card-fx::before,.shn-card-fx *{animation:none!important}}
.shn-find-note{position:fixed;z-index:2147483646;top:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 32px));padding:10px 12px 10px 14px;background:#17161a;border:1px solid #6b5d45;border-left:3px solid #ffd25e;color:#eee8dd;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.shn-find-sigil{flex:none;width:16px;height:16px}
.shn-find-text{flex:1;min-width:0}
.shn-find-close{flex:none;padding:0 4px;background:transparent;border:0;color:#bdb6aa;font-size:16px;line-height:1;cursor:pointer}
.shn-find-close:hover{color:#fff}
.shn-find-actions:empty{display:none}
.shn-find-action{flex:none;padding:3px 8px;background:#28241e;border:1px solid #77664d;color:#f3debc;font:inherit;cursor:pointer}
.shn-find-action:hover{border-color:#ffd25e;color:#fff}
.shn-reward-import__note{margin-left:10px;color:#cfc6b5;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
/* A listing already closing (bought and confirming, or being reclaimed): the badge dims and carries a short tag. */
.shn-badge--closing > :not(.shn-badge__closing) { opacity:.55; }
.shn-badge__closing { flex-basis:100%; padding:2px 4px; font-size:9px; font-weight:800; letter-spacing:.02em; text-align:center; color:#ffd7a1; background:#3a2a14; border:1px solid #8a6230; }
.shn-badge__closing--cancel { color:#d9d3ff; background:#251f3a; border-color:#5d5296; }
