/* JADE ADVENTURES — v130. Final classic-only material layer.
   Uses existing DOM, role hooks and shared semantic tokens. No behavior changes. */
:root[data-appearance="classic"] {
  --world-bg:#1F1311;--world-nav:#241613;--world-cover-shade:#3F1D17;
  --world-cover-ink:#F5F3F0;--world-card-radius:20px;--world-accent-rgb:231,214,165;
  --world-shadow:inset 0 1px #E7D1A514,0 12px 32px #100A0930;
  --world-button-shadow:inset 0 1px #F8F0E055,0 3px 8px #0F090830;--world-glow:#D19F3A10;
  --ui-panel:#3F1D17;--ui-raised:#52221C;--ui-inset:#251714;--ui-soft:#5A261F;
  --ui-ink:#F5F3F0;--ui-muted:#DCC9A9;--ui-line:#876837;--ui-control-line:#C09D64;
  --ui-accent:#E7D1A5;--ui-on-accent:#3E1E19;--ui-radius:12px;
  --ui-success:#E3D3B9;--ui-success-bg:#59241D;--ui-danger:#EFB5A5;--ui-danger-bg:#49302c;
  --jade-material:linear-gradient(145deg,#51211B 0%,#3F1D17 48%,#371A14 100%);
  --jade-trim:inset 0 1px #E7D1A51A,inset 0 -1px #110A0950;
  --jade-gold:linear-gradient(135deg,#F0DFBE,#DFC48E 68%,#C9AB70);
  --jade-inner:inset 0 0 32px #D19F3A09,inset 0 1px #ECD8AF26;

  & body {background:radial-gradient(ellipse at 75% 0,#84663612,transparent 55%),#1F1311!important}
  & :is(.topbar,.drawer,.bottom-nav) {background:linear-gradient(160deg,#391B15,#241613)!important;border-color:#D19F3A33!important;box-shadow:var(--jade-trim)!important}
  & .drawer-head strong {letter-spacing:.16em}
  & .drawer-nav button.active {background:linear-gradient(105deg,#D19F3A17,#C5A47012)!important;border-color:#D19F3A70!important;box-shadow:var(--jade-inner)!important}
  & .drawer-nav button.active:before {width:2px;border-radius:2px}
  & .drawer-account {background:var(--jade-material)!important;border-color:#D19F3A40!important;box-shadow:var(--jade-trim)!important}
  & .bottom-nav button.active {background:#E7D1A508!important}

  /* Engraved titles and an illuminated jade landscape. Solid gold is the
     fallback when clipping or forced-color rendering is unavailable. */
  & #mainContent :is(.page-title h1,.section-heading h2) {color:#E7D1A5!important;letter-spacing:.035em;text-shadow:0 2px 10px #110B0930}
  & #mainContent .page-title {position:relative;padding-bottom:26px!important;border-bottom-color:#D19F3A40!important}
  & #mainContent .page-title:after {content:'';position:absolute;bottom:-1px;left:0;width:70px;height:2px;background:linear-gradient(90deg,#D19F3A,#E7D1A5,transparent);pointer-events:none}
  & #mainContent .page-seal {background:linear-gradient(145deg,#5D2720,#3F1D17)!important;border-color:#D19F3A70!important;box-shadow:inset 0 0 0 4px #1F1311,inset 0 0 0 5px #D19F3A26!important;border-radius:14px 14px 18px 18px!important;transform:rotate(-3deg)}
  & #mainContent .hero-card {background:radial-gradient(ellipse at 80% 12%,#C7A87522,transparent 50%),linear-gradient(100deg,#3F1D17FA 0%,#3F1D17ED 40%,#3F1D1763 100%),url('assets/zhuyu-world-bg-desktop-v24-v78.webp') center/cover!important;border-color:#D19F3A60!important;border-radius:24px!important;box-shadow:var(--jade-inner),0 18px 42px #0F090838!important}
  & #mainContent .hero-card:before {border-color:#E7D1A526;pointer-events:none}
  & #mainContent .hero-card:after {border-color:#D19F3A45;background:#DAC7A608;pointer-events:none}
  & #mainContent .classic-welcome h1 {line-height:1.45;letter-spacing:.035em}
  & #mainContent .classic-welcome h1 em {color:#E7D1A5!important;font-style:normal}
  & #mainContent .classic-chapter {font-size:11px;letter-spacing:.17em}
  & #mainContent .classic-chapter i {background:#D19F3A}
  & #mainContent .classic-welcome>p>span {background:#C5896415;color:#E6B398;border-color:#A46B5055;border-radius:5px}
  & #mainContent .hero-party-summary {border-left-color:#D19F3A!important}
  & #mainContent .stat-grid {background:var(--jade-material);border-color:#D19F3A40;box-shadow:var(--jade-trim)}
  & #mainContent .stat-grid strong {font-family:'Noto Serif TC',serif;font-variant-numeric:tabular-nums}
  & #mainContent :is(.raid-card,.guide-article,.character-card,.member-row,.member-summary,.ops-panel,.feedback-intro,.feedback-home-entry) {background:var(--jade-material)!important;border-color:#D19F3A45!important;box-shadow:var(--world-shadow)!important}
  & #mainContent :is(.raid-card,.guide-article,.character-card,.member-row) {transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}

  /* Prominent actions are polished champagne; secondary and destructive
     actions retain distinct meanings across all pages and dialogs. */
  & :is(#mainContent,#drawer,#membershipGate,.login-modal,.avatar-sheet,.loot-viewer) button:is(.primary,.join-button,.party-action):not(.quiet):not(.cancel):not(.danger):not(:disabled) {background:var(--jade-gold)!important;color:var(--ui-on-accent)!important;border-color:#E7D1A5!important;box-shadow:var(--world-button-shadow)!important;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
  & :is(#mainContent,#drawer,#membershipGate,.login-modal,.avatar-sheet,.loot-viewer) button:is(.ghost,.text-button,.join-button.quiet,.party-action.cancel):not(.danger):not(:disabled) {background:linear-gradient(145deg,#5C261F,#481E18)!important;border-color:#B68D4C!important;color:#F0E7D9!important;box-shadow:var(--jade-trim)!important}
  & #mainContent .filter-chips button.active {background:linear-gradient(140deg,#D19F3A1F,#C7A87515)!important;border-color:#D19F3A80!important;color:#EDDAB4!important;box-shadow:var(--jade-inner)!important}
  & #mainContent :is(.party-layout-switch,.loot-layout-switch) button[aria-pressed="true"] {background:#612922!important;color:#E7D1A5!important;box-shadow:var(--jade-trim)!important}
  & :is(.party-carousel-nav,.loot-carousel-nav) button:not(:disabled) {background:var(--ui-panel)!important;border-color:#D19F3A66!important;color:#E7D1A5!important;box-shadow:var(--jade-trim)!important}

  /* Full-cover recruitment invitations. The numeric medallion is departure
     size, not a signup limit or a synthetic progress meter. */
  & #partyList[data-layout="cards"] {padding-block:8px 22px}
  & #partyList[data-layout="cards"]>.party-panel {background:var(--jade-material)!important;border:1px solid #D19F3A55!important;border-radius:20px!important;box-shadow:var(--jade-trim),0 14px 30px #0E090840!important;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
  & #partyList[data-layout="cards"]>.party-panel.is-current {border-color:#C7AC75!important}
  & #partyList[data-layout="cards"]>.party-panel:before {background-position:center 28%;filter:saturate(.88)}
  & #partyList[data-layout="cards"]>.party-panel:after {background:linear-gradient(180deg,#130C0A12 10%,#23161312 34%,#3F1D17B8 76%,#3F1D17 100%)!important}
  & #partyList[data-layout="cards"]>.party-panel .panel-top {padding-bottom:23px}
  & #partyList[data-layout="cards"]>.party-panel h3 {font-size:clamp(23px,2.05vw,28px)!important;letter-spacing:.02em;text-shadow:0 2px 14px #0D0807AA!important}
  & #partyList[data-layout="cards"]>.party-panel .panel-status {background:#321712F0!important;color:#EFDEBD!important;border-color:#C9AE7999!important;border-radius:8px!important;box-shadow:inset 0 1px #E7D1A526!important}
  & #partyList .party-capacity-summary.recruitment-format {gap:16px;padding-bottom:20px;border-bottom:1px solid #D19F3A38}
  & #partyList .party-format-medal {min-width:64px;min-height:66px;background:linear-gradient(150deg,#6D2E26,#491E19)!important;border:1px solid #D19F3A70!important;border-radius:12px 12px 17px 17px!important;box-shadow:inset 0 0 0 4px #3F1D17,inset 0 0 0 5px #D19F3A20!important}
  & #partyList>.party-panel .recruitment-format .party-format-medal strong {color:#ECD8AF!important;font-family:'Noto Serif TC',serif;font-size:30px;line-height:1.15}
  & #partyList>.party-panel .recruitment-format .party-format-medal span {color:#E5D7BE!important;font-size:11px;letter-spacing:.12em}
  & #partyList .party-format-copy>b {color:#F5F3F0!important;font-size:14px}
  & #partyList .party-format-copy>span {color:#DCC9A9!important;line-height:1.85}
  & :is(#partyList,#mainContent) .party-roster-preview {background:linear-gradient(120deg,#391A15,#46201A)!important;border-color:#B58C4A!important;border-radius:12px!important;box-shadow:inset 0 1px #E3D4BA12!important}
  & :is(#partyList,#mainContent) .roster-avatar {border-color:#826535!important}
  & #partyList .party-requirement>span {color:#DAC18F!important;letter-spacing:.08em;font-size:11px}
  & #partyList .party-requirement p {color:#EDE3D2!important;line-height:1.9}
  & #partyList .party-requirement button {color:#E7D1A5!important}
  & #partyList .party-manage-menu {background:#4E201A!important;border-color:#968B75!important;border-radius:12px!important;box-shadow:var(--jade-trim)!important}
  & #partyList .party-manage-panel {background:#251714!important;border-color:#876837!important;border-radius:12px!important}
  & #partyList[data-layout]>.party-panel .party-actions>.party-action:not(.cancel):not(.danger):not(:disabled) {background:var(--jade-gold)!important;color:#3E1E19!important;border-color:#E7D1A5!important;box-shadow:var(--world-button-shadow)!important}
  & #partyList[data-layout]>.party-panel .party-actions>.party-action.cancel:not(:disabled) {background:linear-gradient(145deg,#5C261F,#481E18)!important;color:#F0E7D9!important;border-color:#B68D4C!important;box-shadow:var(--jade-trim)!important}
  & #partyList[data-layout]>.party-panel .party-actions>.party-action:disabled {background:var(--ui-inset)!important;color:var(--ui-muted)!important;border-color:var(--ui-line)!important;box-shadow:none!important;transform:none!important;opacity:1!important}
  & #mainContent .home-party-list .raid-card {padding:22px!important;gap:20px;border-radius:18px!important}
  & #mainContent .home-party-list .raid-boss-art {border:1px solid #D19F3A70!important;border-radius:12px 12px 20px 20px!important;box-shadow:0 5px 14px #110B0940}
  & #mainContent .home-party-list .raid-info h3 {font-size:23px;line-height:1.55;letter-spacing:.03em}
  & #mainContent .home-party-list .raid-format-line {border-color:#D19F3A38}
  & #mainContent .home-party-list .raid-format-line>strong {color:#E7D1A5}

  /* Roster cards: warm stone, jade lotus and cinnabar. Existing labels and
     data-party-role values remain the source of truth. */
  & #candidateModal {grid-template-columns:minmax(0,1fr);justify-items:center}
  & #candidateModal>.candidate-dialog {width:min(760px,100%);max-width:760px;background:var(--ui-inset)!important;border-color:#D19F3A60!important;box-shadow:var(--jade-trim),0 26px 70px #00000066!important}
  & #candidateModal :is(.candidate-dialog-head,.candidate-actions) {background:var(--jade-material)!important;border-color:#D19F3A45!important}
  & #candidateModal .candidate-dialog-head h2 {font-family:'Noto Serif TC',serif;color:#E7D1A5!important;letter-spacing:.04em}
  & #candidateModal .candidate-list {background:var(--ui-inset)!important}
  & #candidateModal .candidate-group {background:transparent!important;border-color:#D19F3A40!important;box-shadow:none!important}
  & #candidateModal .candidate-group-head {background:#432019!important;border-color:#D19F3A30!important;color:#E7D1A5!important}
  & #candidateModal .candidate-row {background:var(--jade-material)!important;border:1px solid #8D6D39!important;border-radius:14px!important;box-shadow:var(--jade-trim)!important}
  & #candidateModal .candidate-row:has(.candidate-check:checked) {background:linear-gradient(135deg,#5E2720,#53221B)!important;border-color:#D7BA81!important;box-shadow:inset 3px 0 #D7BA81,var(--jade-inner)!important}
  & #candidateModal .candidate-avatar {border-color:#91846A!important;border-radius:12px!important;box-shadow:var(--jade-trim)!important}
  & #candidateModal .candidate-stats>span {background:#331712!important;border:1px solid #7B332A!important;border-radius:8px!important;padding:7px 9px;color:#F5F3F0!important}
  & #candidateModal .candidate-stats>span small {color:#DCCAAA!important;font-size:11px}
  & #candidateModal .candidate-stats>span b {color:#F1E2C4!important;font-size:13px;font-variant-numeric:tabular-nums}
  & #candidateModal .match-badge {background:#50211A!important;border-color:#BF9C64!important;color:#E7DAC4!important;border-radius:8px!important}
  & #candidateModal #rosterComposition {background:#442019!important;border-color:#8E6E3A!important;border-radius:12px!important;padding:12px!important;box-shadow:var(--jade-trim)!important}
  & #candidateModal .ops-role-grid {gap:6px}
  & #candidateModal #rosterComposition>details>summary {min-height:32px;font-size:13px}
  & #candidateModal #rosterComposition>details>summary>span {display:inline;margin-left:8px;font-size:11px}
  & #candidateModal #rosterComposition p {margin:6px 0;font-size:11px;line-height:1.7}
  & #candidateModal #rosterComposition small {font-size:11px;line-height:1.65}
  & #candidateModal .ops-role-grid>span {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50px;gap:4px;padding:8px 3px;box-sizing:border-box;border-radius:10px!important;font-size:11px;line-height:1.4}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role] {--role-ink:#E1CFAA;--role-bg:#50221C;--role-line:#908368;--role-symbol:"◇";background:var(--role-bg)!important;color:var(--role-ink)!important;border:1px solid var(--role-line)!important;box-shadow:inset 0 1px #F2E4C80A}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="tank"] {--role-ink:#E1D3B7;--role-bg:#3B4136;--role-line:#9E937C;--role-symbol:"⬡"}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="support"] {--role-ink:#E5D7BE;--role-bg:#50201A;--role-line:#BF9B62;--role-symbol:"❧"}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="damage"] {--role-ink:#F0BCAF;--role-bg:#49312B;--role-line:#AA7867;--role-symbol:"✦"}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="utility"] {--role-ink:#D5CDE6;--role-bg:#3A3B42;--role-line:#9790A4}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role] {--role-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='m12 3 8 9-8 9-8-9Z'/%3E%3C/svg%3E")}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="tank"] {--role-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 2 8 3v6c0 5-4 8-8 11-4-3-8-6-8-11V5Z'/%3E%3Cpath d='m6 15 5-7 4 6 2-3 2 4M11 8v10'/%3E%3C/svg%3E")}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="support"] {--role-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 3c-6 6-5 10 0 15 5-5 6-9 0-15ZM12 18C4 18 2 14 2 8c6 1 9 4 10 10Zm0 0c8 0 10-4 10-10-6 1-9 4-10 10ZM5 21h14'/%3E%3C/svg%3E")}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role="damage"] {--role-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m3 2 6 2 6 10-3 2-8-8Zm18 0-6 2-6 10 3 2 8-8ZM5 16l3 3m11-3-3 3M3 21l4-5m14 5-4-5'/%3E%3C/svg%3E")}
  & #candidateModal :is(.candidate-name-line,.ops-role-grid)>[data-party-role]:before {content:'';display:inline-block;width:16px;height:16px;flex:none;background:currentColor;mask:var(--role-icon) center/contain no-repeat;-webkit-mask:var(--role-icon) center/contain no-repeat}
  & #candidateModal .candidate-name-line>[data-party-role] {display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:7px!important;font-size:11px}
  & #candidateModal .ops-role-grid>span>b {color:inherit!important;font-size:15px}

  /* Shared dialogs, login and calendars inherit the same material. Safe-area
     padding, sticky close bars and scroll boundaries remain untouched. */
  & :is(.login-modal,.avatar-sheet)>section {border-color:#D19F3A60!important;box-shadow:var(--jade-trim),0 26px 70px #00000066!important}
  & .dialog-close-bar {background:var(--ui-panel)!important;border-color:#D19F3A45!important}
  & .login-modal :is(h2,h3) {font-family:'Noto Serif TC',serif}
  & .login-modal .modal-close {background:#52221C!important;border-color:#BA9355!important;color:#F5F3F0!important;box-shadow:var(--jade-trim)!important}
  & #loginModal {--access-brand:#391A15;--access-brand-glow:#92713B;--access-brand-ink:#F5F3F0;--access-brand-muted:#DAC7A6;--access-metal:#E7D1A5;--access-radius:20px}
  & #loginModal .member-access-brand:after {border-color:#D19F3A40;background:radial-gradient(ellipse,#C2A06920,transparent 68%);box-shadow:0 0 0 28px #D19F3A04,0 0 0 29px #D19F3A18}
  & #loginModal #loginSubmit:not(:disabled) {background:var(--jade-gold)!important;color:#3E1E19!important;border-color:#E7D1A5!important;box-shadow:var(--world-button-shadow)!important}
  & #loginModal #loginSubmit:disabled {background:var(--ui-inset)!important;color:var(--ui-muted)!important;border-color:var(--ui-line)!important;box-shadow:none!important}
  & #mainContent #partyCalendarSection {background:var(--jade-material)!important;border-color:#D19F3A45!important;box-shadow:var(--jade-trim)!important}

  @supports (background-clip:text) {
    & #mainContent :is(.page-title h1,.section-heading h2,.classic-welcome h1 em) {background:linear-gradient(110deg,#F1E3C7 5%,#E7D1A5 45%,#C9AB70);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
  }
  @media (hover:hover) and (pointer:fine) {
    & #mainContent :is(.raid-card,.guide-article,.character-card,.member-row):hover,
    & #partyList[data-layout="cards"]>.party-panel:hover {transform:translateY(-4px)!important;border-color:#D19F3AAA!important;box-shadow:var(--jade-inner),0 16px 34px #110B0940!important}
    & :is(#mainContent,#drawer,#membershipGate,.login-modal,.avatar-sheet,.loot-viewer) button:is(.primary,.join-button,.party-action):not(.quiet):not(.cancel):not(.danger):not(:disabled):hover,
    & #partyList[data-layout]>.party-panel .party-actions>.party-action:not(.cancel):not(.danger):not(:disabled):hover {background:var(--jade-gold)!important;box-shadow:inset 0 1px #F8F0E077,0 5px 15px #D19F3A1A!important;transform:translateY(-2px);filter:brightness(1.04)}
    & :is(#mainContent,#drawer,.login-modal) button:is(.ghost,.text-button,.join-button.quiet,.party-action.cancel):not(.danger):not(:disabled):hover {background:#672B23!important;border-color:#C7B083!important;box-shadow:var(--jade-inner)!important}
    & :is(.appearance-shortcut,.notification-center-button,.profile-button):not(:disabled):hover,& .drawer-nav button:not(.active):hover {background:#5A261F!important;color:#F5F3F0!important;border-color:#D19F3A80!important}
  }
  @media(max-width:849px) {
    & .party-browse-tools {position:static;display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-inline:0;padding:0}
    & .party-browse-tools .filter-chips {width:100%;flex:none}
    & .party-browse-tools .party-layout-switch {align-self:flex-start;max-width:100%}
    & #partyCarouselNav {position:relative;z-index:1;max-width:180px;margin:14px 0 18px auto}
    & #partyCarouselNav:before,& #partyCarouselNav:after {display:none}
    & #mainContent .page-title {padding-bottom:21px!important}
    & #mainContent .page-title h1 {font-size:30px!important;letter-spacing:.025em}
    & #mainContent .hero-card {border-radius:20px!important}
    & #partyList[data-layout="cards"]>.party-panel h3 {font-size:23px!important}
    & #mainContent .home-party-list .raid-card {padding:18px!important;gap:15px}
    & #mainContent .home-party-list .raid-info h3 {font-size:20px!important}
    & #candidateModal .ops-role-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
    & #candidateModal #rosterComposition {padding:10px!important}
    & #candidateModal .ops-role-grid {margin-block:8px;gap:5px}
    & #candidateModal .ops-role-grid>[data-party-role] {padding:6px 2px;gap:3px;font-size:11px;min-height:50px}
    & #candidateModal .ops-role-grid>[data-party-role]:before {display:none}
    & #candidateModal .candidate-stats {gap:5px}
    & #candidateModal .candidate-stats>span {padding:6px}
  }
  @media(prefers-reduced-motion:reduce) {
    & *,& *:before,& *:after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
    & #mainContent :is(.raid-card,.guide-article,.character-card,.member-row):hover,& #partyList[data-layout="cards"]>.party-panel:hover,& :is(button,summary):hover {transform:none!important}
  }
  @media(forced-colors:active) {
    & #mainContent :is(.page-title h1,.section-heading h2,.classic-welcome h1 em) {background:none!important;-webkit-text-fill-color:currentColor!important;color:CanvasText!important}
    & #mainContent .page-title:after {display:none}
    & #candidateModal .candidate-row:has(.candidate-check:checked) {outline:2px solid Highlight;outline-offset:-3px}
    & :is(.drawer-nav button.active,.filter-chips button.active) {outline:2px solid Highlight;outline-offset:-3px}
  }
}
/* The appearance-picker swatch shows jade regardless of the active theme. */
.preview-classic {background:radial-gradient(ellipse at 85% 15%,#BE9A6130,transparent 60%),linear-gradient(140deg,#1F1311,#3F1D17)!important;color:#E7D1A5!important;border-color:#D19F3A70!important;box-shadow:inset 0 0 0 4px #241613,inset 0 0 0 5px #D19F3A30!important}

/* v130 Jade Adventures — ledger material layer.
   Classic only. Existing data, actions, hidden/disabled states, large-amount
   layouts and image-viewer/dialog safe-area geometry remain component-owned. */
:root[data-appearance="classic"] {
  & :is(.page[data-view="records"],#lootDetailModal) {
    --jade-ledger-base:#1F1311;
    --jade-ledger-face:#3F1D17;
    --jade-ledger-raised:#53221B;
    --jade-ledger-ink:#F5F3F0;
    --jade-ledger-muted:#DECCAD;
    --jade-ledger-gold:#E7D1A5;
    --jade-ledger-edge:#826535;
    --jade-ledger-rule:#723128;
    --jade-ledger-success:#E5D7BF;
    --jade-ledger-success-bg:#54221B;
    --jade-ledger-inner:inset 0 1px #F1E1C113,inset 0 0 28px #D19F3A04;
  }

  /* A small chapter guide; numbers describe the workflow, not its live state. */
  & #lootFlowGuide {background:var(--jade-ledger-face)!important;border:1px solid var(--jade-ledger-edge)!important;border-radius:12px!important;box-shadow:var(--jade-ledger-inner)!important;overflow:hidden}
  & #lootFlowGuide>summary {min-height:48px;padding:13px 17px;color:var(--jade-ledger-ink)!important;font-size:13px;line-height:1.7;letter-spacing:.025em}
  & #lootFlowGuide[open]>summary {border-bottom:1px solid var(--jade-ledger-rule)}
  & #lootFlowGuide .loot-flow-guide {display:grid;grid-template-columns:minmax(0,1fr) minmax(16px,34px) minmax(0,1fr) minmax(16px,34px) minmax(0,1fr);align-items:center;gap:12px;padding:19px 18px;background:var(--jade-ledger-base)!important;border:0!important;box-shadow:none!important}
  & #lootFlowGuide .loot-flow-guide>div {min-width:0;display:flex;align-items:center;gap:11px}
  & #lootFlowGuide .loot-flow-guide>div>b {display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid #937D50!important;border-radius:50%!important;background:#461D18!important;color:var(--jade-ledger-gold)!important;font:600 16px/1 Georgia,serif;box-shadow:inset 0 1px #F1E1C211!important}
  & #lootFlowGuide .loot-flow-guide strong {font-size:13px;line-height:1.7;color:var(--jade-ledger-ink)!important;white-space:normal}
  & #lootFlowGuide .loot-flow-guide small {display:block!important;margin-top:3px;color:var(--jade-ledger-muted)!important;font-size:11px;line-height:1.65}
  & #lootFlowGuide .loot-flow-guide>i {height:1px;min-width:0;width:100%;background:#8E7B55!important;box-shadow:none}

  /* Dark jade folios: a soft artwork edge above a continuous reading surface. */
  & #lootList[data-layout]>.loot-card {background:var(--jade-ledger-face)!important;color:var(--jade-ledger-ink)!important;border:1px solid var(--jade-ledger-edge)!important;border-radius:14px!important;box-shadow:var(--jade-ledger-inner),0 12px 26px #0E080724!important;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
  & #lootList[data-layout]>.loot-card:before {width:2px;background:#A28853!important;opacity:.8}
  & #lootList[data-layout]>.loot-card:is(.distributed,.closed):before {background:#C4A470!important}
  & #lootList[data-layout]>.loot-card:is(.is-current,.has-own-unreceived) {border-color:#9A8459!important}
  & #lootList .loot-card-main {background:var(--jade-ledger-base)!important;border-color:var(--jade-ledger-rule)!important}
  & #lootList .loot-card-thumb:after {background:linear-gradient(180deg,#1F131112 8%,#1F131115 35%,#1F1311C9 75%,#3F1D17 100%)!important;box-shadow:none!important}
  & #lootList .loot-card-copy h3 {color:var(--jade-ledger-ink)!important;font-family:'Noto Serif TC',serif!important;line-height:1.5;letter-spacing:.035em}
  & #lootList .loot-card-meta>span:first-child {color:#ECE2D0!important;font-size:11px!important;line-height:1.7;letter-spacing:.1em}
  & #lootList .loot-card-copy>p {color:#E8DCC8!important;font-size:12px!important;line-height:1.8}
  & #lootList .loot-drop-inline {background:#1F1311E6!important;border-color:#8B6C3985!important;border-radius:7px!important;box-shadow:none!important}
  & #lootList .loot-drop-inline>span {color:var(--jade-ledger-gold)!important;font-size:11px!important}
  & #lootList .loot-drop-inline strong {color:var(--jade-ledger-ink)!important;font-size:12px!important;line-height:1.8}
  & #lootList :is(.loot-value-row,.loot-card-progress,.loot-card-receipts) {background:var(--jade-ledger-face)!important;border-color:var(--jade-ledger-rule)!important}
  & #lootList .loot-value-row {padding-block:22px;gap:20px}
  & #lootList .loot-value-row>div {min-width:0;gap:8px;padding:0!important;background:transparent!important;border:0!important}
  & #lootList .loot-value-row>i {background:var(--jade-ledger-rule)}
  & #lootList .loot-value-row span {color:var(--jade-ledger-muted)!important;font-size:12px!important;line-height:1.6;letter-spacing:.045em}
  & #lootList .loot-value-row strong {min-width:0;max-width:100%;font:700 clamp(21px,2.6vw,28px)/1.45 'Noto Sans TC',sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:-.025em;overflow-wrap:anywhere;white-space:normal;color:var(--jade-ledger-ink)!important;text-shadow:none}
  & #lootList .loot-value-row .highlight strong {color:var(--jade-ledger-gold)!important}
  & #lootList>.loot-card.has-large-amount .loot-value-row strong {font-size:clamp(20px,2.6vw,27px)!important}
  & #lootList>.loot-card:is(.pending_approval,.pending_sale) .loot-value-row strong {font-size:18px!important;letter-spacing:0;color:var(--jade-ledger-muted)!important}
  & #lootList[data-layout="list"] .loot-value-row {grid-template-columns:minmax(0,1fr);gap:12px}
  & #lootList[data-layout="list"] .loot-value-row>i {display:none}
  & #lootList[data-layout="list"]>.loot-card .loot-value-row strong {font-size:20px!important}
  & #lootList .loot-card-progress>div {gap:10px;flex-wrap:wrap;color:var(--jade-ledger-muted)!important;font-size:12px!important;line-height:1.7}
  & #lootList .loot-card-progress strong {color:var(--jade-ledger-ink)!important;font-size:12px!important}
  & #lootList .loot-card-progress>i {height:4px;background:#6A2D25;border-radius:2px}
  & #lootList .loot-card-progress>i>b {background:#C1A56C;border-radius:inherit;box-shadow:none}
  & #lootList .loot-card-receipts>div:first-child {gap:8px;flex-wrap:wrap}
  & #lootList .loot-card-receipts>div:first-child>span {font-size:13px;color:var(--jade-ledger-ink)!important}
  & #lootList .loot-card-receipts>div:first-child>small {font-size:11px!important;line-height:1.7;color:var(--jade-ledger-muted)!important}
  & #lootList .loot-card-receipt {min-height:44px;background:#491E18!important;color:var(--jade-ledger-ink)!important;border:1px solid #826535!important;border-radius:8px!important;box-shadow:none!important;font-size:12px;line-height:1.5}
  & #lootList .loot-card-receipt>i {background:var(--jade-ledger-base);border-color:#B78F4E;border-radius:4px}
  & #lootList .loot-card-receipt.mine:not(.received) {border-color:#A38D60!important}
  & #lootList .loot-card-receipt>em {font-size:11px;color:var(--jade-ledger-gold)!important}
  & #lootList .loot-card-receipt.received {background:var(--jade-ledger-success-bg)!important;color:var(--jade-ledger-success)!important;border-color:#B28A49!important}
  & #lootList .loot-card-receipt.received>i {background:var(--jade-ledger-success-bg)!important;color:var(--jade-ledger-success)!important;border-color:#C4A36D!important}
  & #lootList .loot-card-receipt:disabled {background:var(--jade-ledger-base)!important;color:var(--jade-ledger-muted)!important;border-color:#826535!important;box-shadow:none!important;opacity:1!important;transform:none!important;cursor:not-allowed}
  & #lootList .loot-card-receipt-overflow>summary {min-height:44px;color:var(--jade-ledger-gold);font-size:12px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}
  & #lootList .loot-card-footer {gap:14px;align-items:center;background:#351914!important;border-color:var(--jade-ledger-rule)!important}
  & #lootList .loot-card-footer>span {font-size:12px!important;line-height:1.8;color:var(--jade-ledger-muted)!important}
  & #lootList .loot-card.has-own-unreceived .loot-card-footer>span {color:var(--jade-ledger-gold)!important}
  & #lootList .loot-card-footer button {min-height:44px;padding:10px 14px;background:#4E211B!important;color:var(--jade-ledger-gold)!important;border:1px solid #A08754!important;border-radius:8px!important;box-shadow:inset 0 1px #ECD7AE12!important;white-space:normal;font-size:13px;font-weight:700;letter-spacing:.025em}
  & #lootList .loot-card-footer button:disabled {background:var(--jade-ledger-base)!important;color:var(--jade-ledger-muted)!important;border-color:var(--jade-ledger-rule)!important;box-shadow:none!important;transform:none!important;opacity:1!important;cursor:not-allowed}

  /* State labels remain literal; completion color uses existing state classes. */
  & :is(#lootList,#lootDetailModal) .loot-status {padding:6px 10px;border-radius:6px;background:#451C17!important;color:#EBE1CF!important;border-color:#9F7B41!important;font-size:11px!important;line-height:1.5;letter-spacing:.02em}
  & :is(#lootList,#lootDetailModal) .loot-status:is(.pending_approval,.sold_pending_distribution) {background:#451C17!important;color:var(--jade-ledger-gold)!important;border-color:#917B4E!important}
  & :is(#lootList,#lootDetailModal) .loot-status:is(.distributed,.closed) {background:var(--jade-ledger-success-bg)!important;color:var(--jade-ledger-success)!important;border-color:#B28A49!important}

  /* Detail reads as a single account folio, without changing modal mechanics. */
  & #lootDetailModal .loot-detail-head {padding-bottom:19px;border-bottom:1px solid var(--jade-ledger-rule)}
  & #lootDetailModal .loot-detail-head h2 {font-family:'Noto Serif TC',serif!important;color:var(--jade-ledger-ink)!important;line-height:1.5;letter-spacing:.045em}
  & #lootDetailModal .loot-detail-head :is(.eyebrow,p) {color:var(--jade-ledger-muted)!important;font-size:12px!important;line-height:1.8}
  & #lootDetailModal :is(.loot-stage-note,.loot-locked-notice,.loot-lock-box,.loot-approval-box,.loot-detail-image-state) {background:var(--jade-ledger-base)!important;color:var(--jade-ledger-ink)!important;border-color:var(--jade-ledger-rule)!important;border-radius:9px!important;box-shadow:none!important}
  & #lootDetailModal .loot-stage-note {border-inline-start:2px solid #9A8459!important}
  & #lootDetailModal .loot-stage-note:is(.distributed,.closed) {background:#491E18!important;border-color:#A07C42!important}
  & #lootDetailModal .loot-stage-note:is(.distributed,.closed) b {color:var(--jade-ledger-success)!important}
  & #lootDetailModal .loot-stage-note.pending_approval {background:#411F19!important;border-color:#917B4E!important}
  & #lootDetailModal .loot-stage-note.pending_approval b {color:var(--jade-ledger-gold)!important}
  & #lootDetailModal :is(.loot-stage-note,.loot-locked-notice,.loot-approval-box) :is(p,span,small) {color:var(--jade-ledger-muted)!important;font-size:12px;line-height:1.8}
  & #lootDetailModal .loot-detail-money {padding:21px 18px;background:linear-gradient(125deg,#52221B,#3F1D17 68%)!important;border:1px solid #8D7648!important;border-radius:12px!important;box-shadow:var(--jade-ledger-inner)!important}
  & #lootDetailModal .loot-detail-money>div {min-width:0;gap:9px;border-color:#876837!important}
  & #lootDetailModal .loot-detail-money>div:nth-of-type(2) {border-color:#876837!important}
  & #lootDetailModal .loot-detail-money span {color:var(--jade-ledger-muted)!important;font-size:12px;line-height:1.7}
  & #lootDetailModal .loot-detail-money strong {min-width:0;max-width:100%;font:700 clamp(20px,3.4vw,25px)/1.5 'Noto Sans TC',sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:normal;color:var(--jade-ledger-ink)!important;text-shadow:none}
  & #lootDetailModal .loot-detail-money .result strong {color:var(--jade-ledger-gold)!important;font-size:clamp(24px,3.8vw,30px)}
  & #lootDetailModal .loot-detail-money.has-large-amount strong {font-size:clamp(20px,3.8vw,27px)}
  & #lootDetailModal .loot-detail-money>b {color:#C7A875!important;font:400 20px/1.5 Georgia,serif}
  & #lootDetailModal:has(.loot-stage-note:is(.pending_approval,.pending_sale)) .loot-detail-money strong {font-size:18px;letter-spacing:0;color:var(--jade-ledger-muted)!important}
  & :is(#lootList,#lootDetailModal) .loot-allocation-note {background:var(--jade-ledger-base);color:var(--jade-ledger-muted)!important;border-inline-start-color:#A08754;line-height:1.75}
  & :is(#lootList,#lootDetailModal) .loot-allocation-note.compact {background:transparent}
  & :is(#lootList,#lootDetailModal) .loot-allocation-note strong {color:var(--jade-ledger-gold)!important}
  & #lootDetailModal .loot-detail-section {background:var(--jade-ledger-face)!important;border-color:var(--jade-ledger-rule)!important;border-radius:10px!important;box-shadow:inset 0 1px #F1E1C109!important}
  & #lootDetailModal :is(.loot-detail-section>span,.loot-detail-section-title>span) {color:var(--jade-ledger-gold)!important;font-size:13px;line-height:1.7;letter-spacing:.07em}
  & #lootDetailModal .loot-detail-section-title>strong {color:var(--jade-ledger-ink)!important;font-size:14px;font-variant-numeric:tabular-nums}
  & #lootDetailModal .loot-detail-section>p {color:var(--jade-ledger-ink)!important;font-size:14px;line-height:1.85}
  & #lootDetailModal .loot-progress {height:4px;background:#6A2D25!important;border-radius:2px}
  & #lootDetailModal .loot-progress>i {background:#C1A56C!important;box-shadow:none}
  & #lootDetailModal .loot-progress-copy {font-size:12px;line-height:1.8;color:var(--jade-ledger-muted)!important}
  & #lootDetailModal .loot-receipt-group h3 {font-size:13px;line-height:1.7;letter-spacing:.025em}
  & #lootDetailModal .loot-receipt-group h3 b {background:#56241D!important;color:var(--jade-ledger-muted)!important;border-radius:5px}
  & #lootDetailModal .loot-detail-members>div {background:#351914!important;border:1px solid var(--jade-ledger-rule)!important;border-radius:8px!important;box-shadow:none!important}
  & #lootDetailModal .loot-detail-members>div.received {background:#4B1F19!important;border-color:#96743D!important}
  & #lootDetailModal .loot-member-avatar {background:#55231D!important;color:var(--jade-ledger-gold)!important;border-color:#9B7840!important;border-radius:50%;font-family:'Noto Serif TC',serif}
  & #lootDetailModal .loot-member-identity>b {font-size:14px;line-height:1.7;color:var(--jade-ledger-ink)!important}
  & #lootDetailModal .loot-member-identity>small {font-size:11px;line-height:1.7;color:var(--jade-ledger-muted)!important}
  & #lootDetailModal .loot-member-state {background:#54231C!important;color:var(--jade-ledger-muted)!important;border-radius:5px;font-size:11px;line-height:1.7}
  & #lootDetailModal .loot-detail-members>div.received .loot-member-state {background:#5E2720!important;color:var(--jade-ledger-success)!important}
  & #lootDetailModal .loot-detail-members>div>strong {min-width:0;max-width:100%;color:var(--jade-ledger-gold)!important;border-color:var(--jade-ledger-rule)!important;font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:normal}
  & #lootDetailModal .loot-detail-members>div>strong>small {font-size:11px;color:var(--jade-ledger-muted)!important}
  & #lootDetailModal .loot-detail-receipt-action:not(:disabled) {min-height:44px;background:#4E211B!important;color:var(--jade-ledger-gold)!important;border:1px solid #A08754!important;border-radius:8px!important;box-shadow:inset 0 1px #ECD7AE12!important;font-size:13px;font-weight:700}
  & #lootDetailModal .loot-detail-receipt-action.received:not(:disabled) {background:#5E2720!important;color:var(--jade-ledger-success)!important;border-color:#BD985C!important;box-shadow:none!important}
  & #lootDetailModal .loot-detail-receipt-action:disabled {background:var(--jade-ledger-base)!important;color:var(--jade-ledger-muted)!important;border-color:var(--jade-ledger-rule)!important;box-shadow:none!important;opacity:1!important;transform:none!important;cursor:not-allowed}
  & #lootDetailModal .loot-own-task {background:linear-gradient(120deg,#4F211B,#3F1D17);border-color:#9A8459;border-radius:12px;box-shadow:var(--jade-ledger-inner)}
  & #lootDetailModal .loot-own-task-heading {border-color:var(--jade-ledger-rule)}
  & #lootDetailModal .loot-own-task-heading>span {color:var(--jade-ledger-gold);font-family:'Noto Serif TC',serif;letter-spacing:.04em}
  & #lootDetailModal .loot-own-task-row {grid-template-columns:minmax(0,1fr);gap:12px}
  & #lootDetailModal .loot-own-task-row>strong {max-width:100%;text-align:left;color:var(--jade-ledger-gold);font-size:clamp(22px,4vw,29px);line-height:1.6;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
  & #lootDetailModal .loot-own-task-row>strong>small {font-size:12px;color:var(--jade-ledger-muted)}
  & #lootDetailModal .loot-report-tools {background:var(--jade-ledger-base);border-color:var(--jade-ledger-rule);border-radius:10px;box-shadow:none}
  & #lootDetailModal .loot-report-tools strong {color:var(--jade-ledger-ink)}
  & #lootDetailModal .loot-report-tools p {color:var(--jade-ledger-muted)!important}
  & #lootDetailModal .loot-report-preview textarea {background:var(--jade-ledger-face)!important;color:var(--jade-ledger-ink)!important;border-color:#A57F43!important}
  & #lootDetailModal .loot-gallery .loot-detail-image {background:var(--jade-ledger-base);border-color:var(--jade-ledger-rule);border-radius:9px}
  & #lootDetailModal .loot-gallery .loot-image-label {color:var(--jade-ledger-gold)}
  & #lootDetailModal .loot-gallery .loot-image-caption {color:var(--jade-ledger-ink)}
  & #lootDetailModal .loot-activity-list li>i {background:var(--jade-ledger-face)!important;border-color:#B59961!important;box-shadow:none}
  & #lootDetailModal .loot-activity-list li:not(:last-child):before {background:var(--jade-ledger-rule)!important}

  @media(hover:hover) and (pointer:fine) {
    & #lootFlowGuide>summary:hover {background:#4F211B;color:var(--jade-ledger-gold)!important}
    & #lootList[data-layout]>.loot-card:hover {transform:translateY(-4px)!important;border-color:#AD935F!important;box-shadow:inset 0 1px #F1E1C11C,inset 0 0 36px #D19F3A08,0 12px 26px #0E080730!important}
    & #lootList .loot-card-footer button:not(:disabled):hover,
    & #lootList button.loot-card-receipt:not(:disabled):hover,
    & #lootDetailModal .loot-detail-receipt-action:not(:disabled):hover {background:#5C2720!important;color:#EFDDBA!important;border-color:#C6AA71!important;box-shadow:inset 0 1px #F1E1C116!important;transform:none}
  }
  @media(max-width:700px) {
    & #lootFlowGuide .loot-flow-guide {grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);align-items:start;gap:5px;padding:16px 10px}
    & #lootFlowGuide .loot-flow-guide>div {flex-direction:column;gap:8px;text-align:center}
    & #lootFlowGuide .loot-flow-guide strong {font-size:12px}
    & #lootFlowGuide .loot-flow-guide small {font-size:11px;line-height:1.65}
    & #lootFlowGuide .loot-flow-guide>i {margin-top:15px}
  }
  @media(max-width:620px) {
    & #lootList .loot-value-row {gap:14px;padding-block:19px}
    & #lootList .loot-value-row strong {font-size:clamp(18px,5.3vw,25px)!important}
    & #lootList>.loot-card.has-large-amount .loot-value-row strong {font-size:clamp(18px,5.2vw,24px)!important}
    & #lootList>.loot-card:is(.pending_approval,.pending_sale) .loot-value-row strong {font-size:16px!important}
    & #lootList[data-layout="list"]>.loot-card .loot-value-row strong {font-size:18px!important}
    & #lootList .loot-card-footer {align-items:flex-start;flex-wrap:wrap}
    & #lootList .loot-card-footer>span {flex:1 1 140px}
    & #lootList .loot-card-footer button {flex:0 1 auto}
    & #lootDetailModal .loot-detail-money {padding:18px 13px}
    & #lootDetailModal .loot-detail-money strong {font-size:20px}
    & #lootDetailModal .loot-detail-money .result strong {font-size:26px}
    & #lootDetailModal .loot-detail-money.has-large-amount strong {font-size:clamp(18px,5.2vw,24px)}
    & #lootDetailModal .loot-detail-members>div {padding:12px 10px}
    & #lootDetailModal .loot-own-task-row>strong {font-size:clamp(20px,5.5vw,27px)}
  }
  @media(prefers-reduced-motion:reduce) {
    & #lootList[data-layout]>.loot-card:hover {transform:none!important}
    & #lootList>.loot-card,
    & #lootList :is(button,summary),
    & #lootDetailModal :is(button,summary),
    & #lootFlowGuide>summary {animation:none!important;transition:none!important;transform:none!important}
  }
  @media(forced-colors:active) {
    & #lootFlowGuide .loot-flow-guide>i {background:CanvasText!important}
    & #lootList .loot-value-row strong,
    & #lootDetailModal .loot-detail-money strong,
    & #lootDetailModal .loot-detail-members>div>strong {color:CanvasText!important;text-shadow:none!important}
    & #lootList .loot-card-receipt.received,
    & #lootDetailModal .loot-detail-members>div.received {border-style:double!important}
  }
}
