.inventory-layer { position:fixed; inset:0; z-index:270; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(8,11,11,.88); overscroll-behavior:contain; }
.inventory-layer.hidden { display:none; }
.inventory-open { overflow:hidden; }
.inventory-open #modalDialog { background:#e2d3b4; color:#33291e; border:1px solid #957b52; }
.inventory-open #modalDialog h2,.inventory-open #modalDialog .field>span { color:#4b3926; }
.inventory-open #modalDialog input,.inventory-open #modalDialog textarea,.inventory-open #modalDialog select { background:#f1e7d0; color:#33291e; border-color:#ac9470; }
.inventory-open #modalDialog option { background:#f1e7d0; color:#33291e; }
.inventory-open #modalDialog .btn { background:#ead9b5; color:#33291e; border-color:#957b52; }
.inventory-open #modalDialog .hint { color:#6b553a; }
.inventory-window { --inv-ink:#33291e; --inv-line:#aa9370; --inv-paper:#e0d0ad; width:min(1180px,100%); max-height:calc(100dvh - 48px); display:flex; flex-direction:column; color:var(--inv-ink); border:1px solid #8e744b; border-radius:4px; background-color:var(--inv-paper); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23745527' opacity='.09' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); box-shadow:0 20px 80px #0009,inset 0 0 70px #80613b30; font-family:Georgia,"Songti SC","SimSun",serif; }
.inventory-window *, .inventory-window *::before, .inventory-window *::after { box-sizing:border-box; letter-spacing:0; }
.inv-header { display:flex; align-items:center; gap:14px; padding:12px 24px; background:#202624; color:#e4d6b9; border-bottom:2px solid #9a7e4e; flex:none; }
.inv-header img { width:28px; height:44px; }
.inv-header h2 { margin:0; font-size:20px; font-weight:600; }
.inv-header small { display:block; margin-top:3px; color:#b9aa8d; font-size:11px; }
.inv-close { margin-left:auto; width:44px; height:44px; padding:0; color:#e4d6b9; background:transparent; border:1px solid #817458; border-radius:3px; font:26px/1 sans-serif; cursor:pointer; }
#inventoryBody { padding:22px 26px; overflow-y:auto; min-height:0; overscroll-behavior:contain; scrollbar-color:#897253 #d7c7a5; }
.inv-upper { display:grid; grid-template-columns:170px minmax(0,1fr) 240px; gap:22px; }
.inventory-window h3 { font-size:15px; margin:0 0 14px; padding-bottom:8px; border-bottom:1px solid var(--inv-line); font-weight:600; }
.inv-bonuses dl { margin:0; }
.inv-bonuses dl>div { display:flex; justify-content:space-between; gap:12px; padding:6px 0; font-size:14px; }
.inv-bonuses dd { margin:0; font-variant-numeric:tabular-nums; font-weight:600; }
.inv-purse { margin-top:30px; border-top:1px solid var(--inv-line); padding-top:14px; display:flex; flex-direction:column; gap:8px; }
.inv-purse b { font-size:21px; }.inv-purse small { font-size:12px; }
.inv-messenger { margin-top:24px;padding-top:12px;border-top:1px solid var(--inv-line);font-size:12px; }
.inv-messenger>b { display:block;overflow-wrap:anywhere; }.inv-messenger p { margin:6px 0;color:#796246; }
.inv-messenger dl>div { display:block;padding:6px 0;font-size:12px; }.inv-messenger dt { color:#786246; }.inv-messenger dd { margin:3px 0 0;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6; }
.inv-messenger .inv-button { width:100%;margin-top:8px;font-size:12px; }
.inv-dressing { display:grid; grid-template-columns:minmax(80px,1fr) minmax(115px,1.8fr) minmax(80px,1fr); gap:12px; align-items:start; }
.inv-slot-column { display:grid; gap:10px; }
.inv-hands { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }.inv-hands .inv-slot { min-height:72px; }
.inv-accessories { border-top:1px solid var(--inv-line);padding-top:12px;margin-top:20px; }.inv-accessories summary { cursor:pointer;font-size:15px;padding:10px 0; }.inv-accessories summary small { color:#786347;margin-left:8px;font-size:12px; }
.inv-accessory-area { border-top:1px solid var(--inv-line);margin-top:20px; }.inv-accessory-toolbar { display:flex;justify-content:flex-end;padding-top:12px; }.inv-accessory-area .inv-accessories { border-top:0;margin-top:0;padding-top:0; }
.inv-accessories>summary { display:grid;grid-template-columns:1fr auto;gap:5px 12px;background:#d8ccb7;color:#382e23;border:1px solid #af9b7f;padding:12px;list-style:none; }.inv-accessories>summary::-webkit-details-marker { display:none; }.inv-accessories>summary>small { grid-column:1;margin:0; }.inv-accessory-toggle { grid-column:2;grid-row:1/3;align-self:center;font-size:13px; }.inv-accessories>summary:hover { background:#d0c2a9; }
.inv-accessory-cell { min-width:0; }.inv-slot-manage { background:transparent;border:0;color:#655138;font:11px/1.5 sans-serif;width:100%;min-height:32px;cursor:pointer;text-decoration:underline; }
.inv-accessory-groups { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:12px; }.inv-accessory-group { min-width:0; }.inventory-window .inv-accessory-group h3 { font-size:13px;margin-bottom:8px;padding-bottom:6px; }.inv-accessory-group>div { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px; }.inv-accessories .inv-slot { min-height:68px; }.inv-accessories .inv-symbol { font-size:19px;line-height:22px; }
.inv-slot { min-height:86px; width:100%; padding:6px; display:flex; flex-direction:column; align-items:center; gap:3px; background:#ebdfc338; border:1px solid #ac9473; border-radius:3px; color:var(--inv-ink); cursor:pointer; font:inherit; }
.inv-slot small { font-size:10px; color:#705a3b; }.inv-slot>span:last-child { font-size:11px; overflow-wrap:anywhere; }
.inv-slot.selected,.inv-item.selected { outline:2px solid #67513a; outline-offset:-3px; background:#f7ecd3; }
.inv-slot:hover,.inv-item:hover { background:#f3e8ce; }
.inv-symbol { display:block; font-family:Georgia,serif; font-size:27px; line-height:32px; color:#735a37; }
.inv-portrait-frame { position:relative; min-height:330px; border-bottom:1px solid #a99372; }
.inv-portrait-frame img { width:100%; height:330px; object-fit:contain; display:block; }
.inv-portrait-frame>span { display:block; padding:8px 0; text-align:center; font-size:15px; overflow-wrap:anywhere; }
.inv-portrait-tools { display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:8px; }
.inv-portrait-tools button { min-height:36px;background:transparent;color:#57452e;border:1px solid #a68c65;border-radius:3px;padding:5px 9px;font-size:12px;cursor:pointer; }
.inv-portrait-tools button:disabled { opacity:.5;cursor:default; }
.inv-portrait-notice { font:12px/1.6 sans-serif;color:#8a3021;text-align:center;overflow-wrap:anywhere; }
.inv-portrait>p { text-align:center; font-size:12px; line-height:1.6; margin:10px 0; overflow-wrap:anywhere; }
.inv-portrait details { font-size:12px; line-height:1.6; }.inv-portrait summary { cursor:pointer; }.inv-portrait details p { white-space:pre-wrap; overflow-wrap:anywhere; }
.inv-detail { min-width:0; }.inv-detail h4 { font-size:19px; margin:10px 0; overflow-wrap:anywhere; }
.inv-detail-icon { font-size:42px; color:#745d3d; }.inv-item-description { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; }
.inv-detail small { color:#725e42; }.inv-effects { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; font-size:12px; }.inv-effects span { border-bottom:1px solid var(--inv-line); padding:4px 0; }
.inv-detail-empty { text-align:center; margin:58px 0; font-size:13px; color:#786347; }.inv-detail-empty>span { font-size:46px; }
.inv-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.inv-button { min-height:38px; padding:8px 12px; border:1px solid #8b7351; border-radius:3px; background:#f2e6cc; color:var(--inv-ink); font-family:inherit; font-size:13px; line-height:1.4; cursor:pointer; }
.inv-button:disabled { opacity:.45; cursor:default; }
.inv-bag { border-top:2px solid #9f8966; margin-top:22px; padding-top:16px; }
.inv-bag-toolbar { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.inv-bag-toolbar [role=tablist] { display:flex; gap:4px; flex-wrap:wrap; }
.inv-bag-toolbar [role=tab] { border:0; border-bottom:2px solid transparent; padding:8px 10px; background:none; color:#796246; font-family:inherit; font-size:14px; line-height:1.5; cursor:pointer; }
.inv-bag-toolbar [role=tab][aria-selected=true] { color:#30271c; border-bottom-color:#685135; font-weight:600; }
.inv-bag-toolbar small { font-size:11px; margin-left:4px; }
.inv-tools { display:flex; align-items:center; gap:8px; }
.inv-tools input { width:180px; min-width:0; padding:9px 10px; background:#f0e5cc; color:var(--inv-ink); border:1px solid #ad9673; border-radius:3px; font:13px/1.4 sans-serif; }
.inv-tools input::placeholder { color:#8b7656; }
.inv-kind-filter { display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px; }
.inv-kind-filter button { min-height:38px;padding:7px 12px;background:transparent;color:#665235;border:1px solid #ad9673;border-radius:3px;font:13px/1.4 sans-serif;cursor:pointer; }
.inv-kind-filter button[aria-pressed=true] { background:#354543;color:#f0e1c4;border-color:#354543; }
.inv-kind-filter small { margin-left:5px;opacity:.75; }
#modalDialog.item-dossier-modal { max-width:min(820px,94vw);background:#e4d2a8;color:#392a1b;box-shadow:0 24px 75px #000a,inset 0 0 60px #83603b33;border:1px solid #997a4e;border-radius:3px; }
#modalDialog.item-dossier-modal>h2 { font-size:14px;color:#725936;border-bottom:1px solid #a88c60;padding-bottom:10px; }
.artifact-sheet { font-family:Georgia,"Songti SC","SimSun",serif;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.58' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h160v160H0z' fill='%238b602c' opacity='.08' filter='url(%23g)'/%3E%3C/svg%3E");padding:8px 10px 14px; }
.artifact-sheet-header { position:relative;border-bottom:2px solid #937548;padding:4px 0 18px;margin-bottom:15px; }
.artifact-sheet-header small { color:#826845;font-size:12px; }.artifact-sheet-header h3 { margin:12px 0;font-size:24px;line-height:1.5;overflow-wrap:anywhere; }
.artifact-stamp { display:inline-block;border:1px solid #825b3b;padding:5px 10px;font-size:12px;color:#784527;transform:rotate(-3deg); }
.artifact-description { line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere; }
.artifact-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0; }
.artifact-field { border-bottom:1px solid #b7a078;padding:14px 0;min-width:0; }.artifact-field dt { font-size:12px;color:#725739;margin-bottom:7px;font-weight:600; }.artifact-field dd { margin:0;font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere; }
.artifact-field.caution dt { color:#873e2c; }.artifact-field.unknown dd { color:#947956;font-size:12px; }.artifact-sheet footer { display:flex;gap:10px;flex-wrap:wrap;margin-top:20px; }
.artifact-editor { color:#392a1b; }.artifact-editor .field>span { color:#705637; }.artifact-editor input,.artifact-editor textarea,.artifact-editor select { background:#f2e6c9;color:#392a1b;border-color:#af9164; }.artifact-editor option { background:#f2e6c9;color:#392a1b; }
#artifactEditorFields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px; }#artifactEditorFields[hidden] { display:none; }#artifactEditorFields textarea { resize:vertical;min-height:64px;width:100%; }#artifactEditorNotice { color:#8a3a26;font:13px/1.7 sans-serif; }
.inventory-window,#modalDialog.item-dossier-modal { background-image:none;background-color:#e8dfce;box-shadow:0 18px 60px #0008; }
.artifact-sheet { background-image:none; }.artifact-group { border-bottom:1px solid #a88c60;margin:10px 0; }.artifact-group>summary { cursor:pointer;padding:12px 0;font-size:16px;font-weight:600; }.artifact-group>summary small { color:#826845;font:12px/1.5 sans-serif;margin-left:8px; }
#artifactEditorFields { display:block; }.artifact-editor-group { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px; }.artifact-field dt small { font-weight:400; }
.artifact-history { padding-left:20px; }.artifact-history li { padding:10px 0;border-bottom:1px solid #b7a078; }.artifact-history small { color:#725739; }.artifact-history p,.artifact-history blockquote { white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8; }.artifact-history blockquote { border-left:2px solid #a88c60;padding-left:10px;margin-left:0;color:#796246; }
@media(max-width:760px) { .artifact-editor-group { grid-template-columns:minmax(0,1fr); }.inv-accessory-groups { grid-template-columns:minmax(0,1fr);gap:16px; }.inv-accessory-group>div { grid-template-columns:repeat(5,minmax(0,1fr));gap:5px; }.inv-accessories summary { min-height:44px; }.inv-accessories summary small { display:block;margin:5px 0 0; }.inv-accessories .inv-slot { min-height:76px;padding:5px 3px; } }
@media(max-width:760px) { .inv-kind-filter button { min-height:44px; }.artifact-fields,#artifactEditorFields { grid-template-columns:minmax(0,1fr); }.artifact-sheet-header h3 { font-size:21px; }.artifact-sheet { padding:4px 0; } }
@media(prefers-reduced-motion:no-preference) { #modalDialog.item-dossier-modal { animation:artifact-unfold .32s cubic-bezier(.2,.7,.25,1); } @keyframes artifact-unfold { from { opacity:0;transform:translateY(22px) rotate(-1deg) scale(.97); } to { opacity:1;transform:translateY(0) rotate(0) scale(1); } } }
.inv-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; }
.inv-item { min-height:94px; width:100%; border:1px solid #b69e78; border-radius:3px; background:#efe4ca78; color:var(--inv-ink); padding:9px 6px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; font-family:inherit; font-size:12px; line-height:1.5; cursor:pointer; }
.inv-item>span:last-child { overflow-wrap:anywhere; }.inv-empty { grid-column:1/-1; padding:20px; text-align:center; font-size:13px; color:#796246; }
.inv-pagination { display:flex; justify-content:center; align-items:center; gap:15px; margin-top:14px; font-size:12px; }
.inv-pagination button { width:36px; height:36px; border:1px solid #ab9571; background:none; color:#5b4830; font-size:24px; cursor:pointer; }.inv-pagination button:disabled { opacity:.3; }
.inventory-window button:focus-visible,.inventory-window input:focus-visible,.inventory-window summary:focus-visible { outline:2px solid #34575a; outline-offset:2px; }
@media(max-width:1000px) { .inv-upper { grid-template-columns:130px minmax(0,1fr) 190px;gap:15px; }.inv-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:760px) {
  .inventory-layer { padding:0; }.inventory-window { width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; }
  .inv-header { padding:calc(8px + env(safe-area-inset-top)) 14px 8px; gap:10px; }.inv-header h2 { font-size:17px; }.inv-header small { display:none; }
  #inventoryBody { padding:16px 14px calc(24px + env(safe-area-inset-bottom)); }.inv-upper { grid-template-columns:minmax(0,1fr);gap:18px; }
  .inv-dressing { grid-row:1; grid-template-columns:minmax(72px,1fr) minmax(112px,1.8fr) minmax(72px,1fr);gap:10px; }
  .inv-slot { min-height:76px; }.inv-slot-column { gap:8px; }.inv-portrait-frame img { height:290px; }.inv-portrait-frame { min-height:290px; }
  .inv-bonuses { grid-row:2; }.inv-bonuses dl { display:flex;flex-wrap:wrap;gap:4px 20px; }.inv-bonuses dl>div { gap:8px; }.inv-bonuses h3 { margin-bottom:6px; }
  .inv-purse { flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:8px 12px; margin-top:8px; padding-top:8px; }.inv-purse b { font-size:17px; }
  .inv-detail { grid-row:3; }.inv-detail h3 { margin-bottom:8px; }.inv-detail-empty { margin:12px 0; }.inv-detail-empty>span { display:none; }.inv-detail-icon { display:none; }
  .inv-detail h4 { font-size:17px; }.inv-item-description { margin:8px 0; }.inv-actions .inv-button { min-height:44px; }
  .inv-bag { margin-top:18px; }.inv-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:6px; }.inv-item { min-height:86px; }
  .inv-bag-toolbar { gap:10px; }.inv-tools { width:100%; }.inv-tools input { flex:1; width:auto; }.inv-bag-toolbar [role=tab] { padding:7px;font-size:13px;min-height:44px; }
}
@media(prefers-reduced-motion:no-preference) { .inventory-window { animation:inventory-appear .18s ease-out; } @keyframes inventory-appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } } }
