.property-draft { margin-top: 1rem; }
.property-draft, #tab-property { min-width: 0; max-width: 100%; }
.property-access-block { display: none !important; }
.property-access-pill { display: none !important; }
.property-access-pill-public, .property-access-pill-private { padding: 0.38rem 0.55rem; font-size: inherit; }
.property-access-pill-public { background: #1a3a6b; color: #fff; }
.property-access-pill-private { background: #3a1a1a; color: #fff; }
.property-access-public, .property-access-private { appearance: none; display: inline-block; border: 0; padding: 0.38rem 0.55rem; font: inherit; color: #fff; cursor: pointer; }
.property-access-public { background: #1a3a6b; }
.property-access-private { background: #3a1a1a; }
.property-access-public:not(.is-active), .property-access-private:not(.is-active) { opacity: 0.62; }
.property-access-public.is-active, .property-access-private.is-active { box-shadow: inset 0 0 0 2px rgba(255,255,255,0.72); }
.property-access-divider { color: #f0d879; padding: 0 0.12rem; }
.property-gm-note { max-width: 100%; color: #999; font-size: 0.72rem; line-height: 1.45; overflow-wrap: anywhere; word-break: break-word; margin: 0.45rem 0 0; }
#tab-property > p { max-width: 100%; font-size: 0.95rem; line-height: 1.5; overflow-wrap: anywhere; word-break: break-word; }
.property-page-label { color: #b9aa00; font-size: 0.7rem; font-weight: bold; letter-spacing: 0.1em; text-transform: uppercase; }
.property-page-title { color: #e0cfc0; margin: 0.2rem 0 0.35rem; font-size: 1.6rem; }
.property-page-header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem 1rem; margin: 0.2rem 0 0.75rem; }
.property-page-intro { flex: 1 1 65%; min-width: 0; }
.property-page-heading-row { display: flex; align-items: center; gap: 0.45rem; }
.property-page-header .property-page-title { min-width: 0; margin: 0; }
.property-tab-intro { max-width: 100%; margin: 0 0 0.75rem; color: inherit; font-size: 1rem; line-height: 1.55; }
.property-page-nav { position: relative; width: 100%; max-width: 100%; min-width: 0; margin: 0 0 0.8rem; }
.property-page-nav-art { display: block; width: 100%; max-width: 100%; height: auto; }
.property-page-nav-hit { position: absolute; top: 0; bottom: 0; display: block; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: transparent; cursor: pointer; }
.property-page-nav-hit:focus-visible { outline: 2px solid #f0d879; outline-offset: -2px; }
.property-page-description { color: #999; font-size: 0.84rem; line-height: 1.55; margin: 0.3rem 0 0; }
.property-draft-tools { display: flex; gap: 0.55rem; align-items: center; flex-wrap: wrap; margin: 0.8rem 0; }
.property-draft-search { flex: 1 1 220px; min-width: 0; border: 1px solid #3b3510; border-radius: 7px; background: #0e0e0e; color: #e0cfc0; padding: 0.55rem 0.7rem; font: inherit; font-size: 0.82rem; }
.property-draft-search:focus { outline: 2px solid rgba(185,170,0,0.35); outline-offset: 1px; }
.property-draft-cap { color: #777; font-size: 0.72rem; white-space: nowrap; }
.property-armory-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.85rem; align-items: start; }
.property-canvas { min-height: 0; position: relative; overflow: visible; border: 1px solid #6d5c16; border-radius: 12px; background: radial-gradient(circle at 50% 20%, #423619 0, #1c180c 38%, #0c0c0c 80%); box-shadow: inset 0 0 38px rgba(0,0,0,0.55), 0 0 0 3px rgba(185,170,0,0.08); padding: 0.65rem; }
.property-canvas-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.35rem; color: #f0d879; text-transform: uppercase; }
.property-canvas-heading-haven { display: flex; align-items: baseline; gap: 0.35rem; }
.property-canvas-heading-haven span, .property-canvas-heading-title { font-size: 0.55rem; font-weight: bold; letter-spacing: 0.08em; }
.property-canvas-heading-haven strong { font-size: 0.72rem; letter-spacing: 0.04em; }
.property-canvas-kicker { color: #b9aa00; font-size: 0.64rem; font-weight: bold; letter-spacing: 0.12em; text-transform: uppercase; }
.property-safe-haven-control { position: absolute; z-index: 20; top: 0.55rem; right: 0.65rem; color: #d8d0bd; font-size: 0.62rem; letter-spacing: 0; text-transform: none; }
.property-safe-haven-control summary { list-style: none; max-width: 155px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 1px solid #6d5c16; border-radius: 5px; background: #151515; color: #f0d879; padding: 0.24rem 0.42rem; cursor: pointer; }
.property-safe-haven-control summary::-webkit-details-marker { display: none; }
.property-safe-haven-control summary::after { content: '▾'; float: right; margin-left: 0.7rem; color: #f0d879; }
.property-safe-haven-control[open] summary::after { content: '▴'; }
.property-safe-haven-options { position: absolute; z-index: 20; top: calc(100% + 0.25rem); right: 0; min-width: 145px; padding: 0.25rem; border: 1px solid #6d5c16; border-radius: 6px; background: #151515; box-shadow: 0 5px 14px rgba(0,0,0,0.45); }
.property-safe-haven-option { display: block; width: 100%; border: 0; border-radius: 4px; background: transparent; color: #d8d0bd; padding: 0.38rem 0.45rem; cursor: pointer; font: inherit; text-align: left; }
.property-safe-haven-option:hover, .property-safe-haven-option.selected { background: #332c0c; color: #f0d879; }
.property-canvas-pickers { margin: 0.15rem 0 0.45rem; }
.property-canvas-pickers-bottom { margin: 0.45rem 0 0.15rem; }
.property-canvas-picker-title { position: relative; top: -0.3rem; color: #f0d879; font-size: 0.55rem; font-weight: bold; letter-spacing: 0.08em; line-height: 1.2; text-align: center; text-transform: uppercase; }
.property-canvas-stage { width: 100%; aspect-ratio: 2304 / 3312; box-sizing: border-box; position: relative; margin-top: 0.25rem; background-position: center; background-size: 100% 100%; border: 1px solid rgba(240,216,121,0.5); border-radius: 9px; overflow: hidden; }
.property-canvas-layer-stack { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.property-canvas-composition { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); transform-origin: center center; }
.property-canvas-layer { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: fill; object-position: center; pointer-events: none; }
.property-canvas-layer-character-0 { z-index: 1; }
.property-canvas-layer-character-0.property-character-occluded-by-armor { clip-path: inset(0 0 40% 0); }
.property-canvas-layer-character-1 { z-index: 2; }
.property-canvas-layer-character-2 { z-index: 3; }
.property-canvas-layer-companion { z-index: 4; }
.property-canvas-layer-companion.companion-drake { z-index: 0; }
.property-canvas-layer-companion.companion-weasel { z-index: 0; }
.property-canvas-layer-armament { z-index: 5; }
.property-canvas-layer-armament.armor-boots { z-index: 1; }
.property-canvas-layer-armament.armor-core { z-index: 2; }
.property-canvas-layer-armament.armor-gloves { z-index: 3; }
.property-canvas-layer-armament.weapon-taw { z-index: 4; }
.property-canvas-layer-character-hand-left, .property-canvas-layer-character-hand-right { z-index: 2; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; mask-mode: alpha; }
.property-canvas-layer-character-hand-right { transform: scaleX(-1); }
.property-canvas-layer-armament.armor-helm { transform: translateY(-0.8%); }
.property-canvas-portrait { position: absolute; z-index: 1; top: 34%; left: 29%; width: 42%; height: 31%; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(240,216,121,0.65); border-radius: 9px; background: rgba(8,10,10,0.6); box-shadow: 0 0 25px rgba(0,0,0,0.45); }
.property-canvas-portrait-label { color: #f0d879; text-align: center; font-size: 0.72rem; line-height: 1.45; letter-spacing: 0.04em; text-transform: uppercase; }
.property-canvas-portrait-label span { display: block; color: #d8d0bd; font-size: 0.62rem; letter-spacing: 0; text-transform: none; margin-top: 0.3rem; }
.property-canvas-orbit { position: static; width: auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; gap: 0.3rem; }
.property-canvas-orbit.companions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.property-canvas-orbit-title { display: none; }
.property-companion-instruction { margin-top: 0.42rem; margin-bottom: 0.5rem; color: #8f7440; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.015em; line-height: 1.35; text-align: center; }
.property-orbit-piece, .property-orbit-piece img { -webkit-touch-callout: none; user-select: none; }
.property-long-press-overlay { position: fixed; z-index: 1000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0,0,0,0.78); }
.property-long-press-card { position: relative; width: min(66vw, 220px); box-sizing: border-box; border: 1px solid #262626; border-radius: 9px; background: #161616; color: #e0cfc0; box-shadow: 0 10px 35px rgba(0,0,0,0.65); overflow: hidden; text-align: left; }
.property-long-press-close { position: absolute; z-index: 1; top: 0.3rem; right: 0.35rem; width: 1.8rem; height: 1.8rem; border: 1px solid #6d5c16; border-radius: 50%; background: #151515; color: #f0d879; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.property-long-press-art { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 3 / 4; border-bottom: 1px solid #262626; background: #0c0c0c; overflow: hidden; }
.property-long-press-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
.property-long-press-placeholder { color: #444; font-size: 2rem; }
.property-long-press-meta { padding: 0.4rem 0.5rem; }
.property-long-press-name { color: #e0cfc0; font-size: 0.76rem; font-weight: bold; line-height: 1.25; }
.property-long-press-rank { margin-top: 0.15rem; color: #b9aa00; font-size: 0.66rem; line-height: 1.25; }
.property-long-press-note { margin-top: 0.15rem; color: #8a7f00; font-size: 0.66rem; line-height: 1.25; }
.property-rank-common { --property-rank-color: #6b6a6a; }
.property-rank-uncommon { --property-rank-color: #008601; }
.property-rank-rare { --property-rank-color: #0058aa; }
.property-rank-unique { --property-rank-color: #c57500; }
.property-rank-heroic { --property-rank-color: #be3f00; }
.property-rank-elite { --property-rank-color: #be0500; }
.property-rank-legendary { --property-rank-color: #8c06a3; }
.property-rank-divine { --property-rank-color: #92793a; }
.property-long-press-card[class*="property-rank-"] { border-color: var(--property-rank-color); }
.property-long-press-card[class*="property-rank-"] .property-long-press-name,
.property-long-press-card[class*="property-rank-"] .property-long-press-rank,
.property-long-press-card[class*="property-rank-"] .property-long-press-note { color: var(--property-rank-color); }
.property-armory-card[class*="property-rank-"],
.property-card-index-item[class*="property-rank-"],
.property-orbit-piece[class*="property-rank-"] { border-color: var(--property-rank-color); }
.property-armory-card[class*="property-rank-"] .property-armory-card-name,
.property-card-index-item[class*="property-rank-"] .property-card-index-name { color: var(--property-rank-color); }
.property-orbit-piece { width: 100%; aspect-ratio: 3 / 4; min-height: 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; overflow: hidden; padding: 0; border: 1px solid rgba(240,216,121,0.45); border-radius: 6px; background: #161616; color: #d8d0bd; cursor: pointer; text-align: center; }
.property-orbit-piece img { display: block; flex: 1 1 0; min-height: 0; width: 100%; height: 0; object-fit: contain; object-position: center; background: #0c0c0c; }
.property-orbit-piece span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.5rem; line-height: 1.1; }
.property-orbit-meta { min-height: 0.62rem; color: #b9aa00; font-size: 0.39rem; font-weight: bold; line-height: 1; }
.property-orbit-piece.property-subdued { opacity: 0.76; filter: saturate(0.78); }
.property-orbit-piece.property-highlighted { opacity: 1; border-color: #f0d879; box-shadow: 0 0 0 2px rgba(240,216,121,0.28) !important; filter: drop-shadow(0 0 6px rgba(245,214,89,0.65)); }
.property-canvas-placeholder { color: #817947; text-align: center; font-size: 0.86rem; line-height: 1.5; max-width: 240px; padding: 1rem; border: 1px dashed #635a25; border-radius: 9px; }
.property-canvas-caption { border-top: 1px solid rgba(185,170,0,0.25); padding-top: 0.65rem; }
.property-canvas-caption strong { display: block; color: #f0d879; font-size: 1rem; }
.property-canvas-caption > span { color: #999; display: block; font-size: 0.74rem; line-height: 1.45; margin-top: 0.22rem; }
.property-character-picker { margin-top: 0.55rem; }
.space-character-index { max-width: 430px; margin: 0 auto 1rem; }
.space-character-index > h4 { margin: 0 0 0.35rem; color: #e0cfc0; font-size: 1rem; }
.space-character-index > p { margin: 0; color: #999; font-size: 0.84rem; line-height: 1.45; }
body.lawful-mode .space-character-index > h4 { color: #343126; }
body.lawful-mode .space-character-index > p { color: #5b584f; }
.property-character-picker-tiers, .property-character-picker-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.3rem; }
.property-character-picker-tiers { margin-top: 0.42rem; }
.property-character-picker-tier { color: #f0d879; font-size: 0.68rem; font-weight: bold; letter-spacing: 0.08em; text-align: center; text-shadow: 0 1px 2px #000; text-transform: uppercase; }
.property-character-picker-tier.basic { grid-column: 1 / span 1; padding-left: 0.15rem; text-align: left; }
.property-character-picker-tier.pro { grid-column: 3 / span 3; color: #d7a8ee; opacity: 1; padding-left: 0.15rem; text-align: left; }
.property-character-picker-thumbs { margin-top: 0.2rem; }
.property-character-picker-thumb { position: relative; min-width: 0; width: 100%; aspect-ratio: 5 / 7; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; overflow: hidden; padding: 0.18rem; border: 1px solid #8e7a45; border-radius: 6px; background: #b8ae99; color: #302b22; cursor: pointer; opacity: 0.68; text-align: center; }
.property-character-picker-thumb img { display: block !important; visibility: visible !important; flex: 1 1 auto; min-height: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; border-radius: 4px; background: #b8ae99; }
.property-character-picker-thumb .property-canvas-layer { background: transparent; border-radius: 0; object-fit: fill; }
.property-character-picker-thumb.selected { border-color: #f0d879; box-shadow: 0 0 0 2px rgba(240,216,121,0.22) !important; opacity: 1; }
.property-character-picker-thumb.pro { opacity: 0.48; }
.property-character-picker-thumb.pro.selected { border-color: #d7a8ee; box-shadow: 0 0 0 2px rgba(215,168,238,0.4) !important; opacity: 1; }
.property-character-picker-thumb.unavailable { cursor: not-allowed; filter: grayscale(0.75); opacity: 0.65; }
.property-character-picker-thumb.unavailable img { opacity: 1; }
body.lawful-mode .property-character-picker-tier { color: #5d4d00; text-shadow: none; }
body.lawful-mode .property-character-picker-tier.pro { color: #634276; }
body.lawful-mode .property-character-picker-thumb { border-color: #b8aa7e; background: #e6dfcf; color: #514a3c; }
body.lawful-mode .property-character-picker-thumb img { background: #e6dfcf; }
.property-card-index { background: #121212; border: 1px solid #2f2b16; border-radius: 10px; padding: 0.8rem; }
.property-card-index h4 { color: #e0cfc0; margin: 0 0 0.35rem; font-size: 0.86rem; }
.property-card-index p { color: #777; font-size: 0.74rem; line-height: 1.45; margin: 0 0 0.7rem; }
.property-card-index-note { color: #999; font-size: 0.84rem; line-height: 1.55; margin: 0.75rem 0; }
.property-card-index-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem; max-height: 375px; overflow-y: auto; padding-right: 0.2rem; }
.property-armory-row { margin-top: 1.05rem; }
.property-armory-row-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.42rem; }
.property-armory-row-head h4 { color: #b9aa00; font-size: 0.76rem; letter-spacing: 0.06em; text-transform: uppercase; margin: 0; }
.property-armory-row-head span { color: #666; font-size: 0.68rem; }
.property-armory-row-controls { display: flex; align-items: center; gap: 0.25rem; }
.property-armory-row-controls button { border: 1px solid #4d4313; border-radius: 999px; background: #151515; color: #b9aa00; padding: 0.12rem 0.42rem; font-size: 0.68rem; line-height: 1; cursor: pointer; }
.property-armory-row-controls button:hover { border-color: #f0d879; color: #f0d879; }
.property-armory-row-controls button:disabled { opacity: 0.35; cursor: default; }
.property-card-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.property-armory-card { min-width: 0; position: relative; padding: 0.28rem; color: #aaa; background: #191919; border: 1px solid #363636; border-radius: 7px; cursor: pointer; text-align: center; transition: opacity 0.15s, border-color 0.15s, transform 0.15s; }
.property-armory-card:hover { border-color: #9f8e2a; transform: translateY(-1px); }
.property-armory-card.owned { color: #e0cfc0; }
.property-armory-card.unowned { opacity: 0.34; }
.property-armory-card.selected { border-color: #f0d879; box-shadow: 0 0 0 2px rgba(240,216,121,0.2) !important; }
.property-armory-card.readied::after { content: 'READIED'; position: absolute; top: 0.25rem; right: 0.25rem; color: #201b08; background: #d9bf4d; border-radius: 3px; font-size: 0.48rem; font-weight: bold; padding: 0.12rem 0.2rem; }
.property-armory-card-art { height: 90px; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle, #3a3218, #0d0d0d 72%); border-radius: 5px; overflow: hidden; }
.property-armory-card-art img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.property-armory-card-art.placeholder { color: #5f582f; font-size: 1.1rem; }
.property-card-picker-placeholder { cursor: default; border-style: dashed; opacity: 0.55; }
.property-card-picker-placeholder:hover { border-color: #363636; transform: none; }
.property-companion-card-meta { display: block; min-height: 0.85rem; overflow: hidden; color: #8f7440; font-size: 0.52rem; font-weight: bold; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.property-companion-card-top { margin-bottom: 0.18rem; color: #b9aa00; }
.property-companion-card-bottom { margin-top: 0.2rem; }
.property-armory-row[data-property-row="companion"] .property-armory-card-art { height: 108px; }
.property-armory-row[data-property-row="companion"] .property-armory-card-art img { object-fit: contain; object-position: center; }
.property-card-row-more { min-width: 0; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
.property-card-row-more:hover { background: transparent; }
.property-card-row-more:hover .property-quarter-more-pill { border-color: #b9aa00; color: #f0d879; }
.property-card-row-more.is-end { cursor: default; opacity: 0.55; }
.property-card-row-empty { grid-column: 1 / -1; padding: 0.65rem; border: 1px dashed #363636; border-radius: 7px; color: #777; font-size: 0.72rem; text-align: center; }
.property-armory-card-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 0.3rem; font-size: 0.63rem; font-weight: bold; }
.property-armory-card-ref { display: block; color: #82762c; font: 0.56rem ui-monospace, Menlo, monospace; margin-top: 0.12rem; }
.property-armory-card-state { display: block; color: #8f7440; font-size: 0.57rem; line-height: 1.25; margin-top: 0.12rem; }
.property-card-index-item { display: block; min-width: 0; padding: 0.45rem; border: 1px solid #2d2d2d; border-radius: 6px; background: #181818; cursor: pointer; text-align: left; }
.property-card-index-item:hover, .property-card-index-item.selected { border-color: #b9aa00; }
.property-card-index-name { color: #d3c78e; font-size: 0.67rem; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-card-index-meta { display: block; color: #777; font-size: 0.58rem; margin-top: 0.1rem; }
.property-search-message { color: #b9aa00; font-size: 0.76rem; line-height: 1.45; padding: 0.55rem 0.7rem; margin-top: 0.55rem; border-left: 2px solid #b9aa00; background: #1b1809; }
.property-container-page { background: #121212; border: 1px solid #3b3211; border-radius: 10px; padding: 0.9rem; }
.property-container-note { color: #999; font-size: 0.8rem; line-height: 1.55; margin: 0 0 0.8rem; }
body.lawful-mode .property-page-title, body.lawful-mode .property-canvas-caption strong { color: #5d4d00; }
body.lawful-mode .property-draft-search { background: #f7f5f0; border-color: #d5cda8; color: #333; }
body.lawful-mode .property-card-index, body.lawful-mode .property-container-page { background: #fbfaf7; border-color: #d8d0bd; }
body.lawful-mode .property-armory-card, body.lawful-mode .property-card-index-item { background: #f6f1e5; border-color: #d8d0bd; }
body.lawful-mode .property-canvas { background: radial-gradient(circle at 50% 20%, #fff9df 0, #eee5ce 45%, #d8ceb6 100%); }
@media (max-width: 700px) { .property-armory-layout { grid-template-columns: 1fr; } .property-canvas { min-height: 0; } .property-card-index-list { max-height: none; } }
@media (max-width: 600px) {
    #tab-property { overflow-x: hidden; }
    #tab-property h3 { font-size: 1.8rem; line-height: 1.1; margin-top: 0; }
    #tab-property > p { font-size: 0.95rem !important; }
    .property-access-pill { font-size: 10px !important; }
    .property-access-pill-public, .property-access-pill-private { font-size: 10px !important; padding: 0.38rem 0.55rem; }
    .property-gm-note { font-size: 12px !important; }
    .property-page-title { font-size: 1.4rem; }
}
@media (max-width: 430px) { .property-card-row { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.26rem; } .property-armory-card { padding: 0.2rem; } .property-armory-card-art { height: 76px; } .property-armory-card-name { font-size: 0.55rem; } .property-armory-card-ref, .property-armory-card-state { font-size: 0.49rem; } }
.property-container-grid, .property-quarter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.8rem; margin-top: 1rem; }
.property-container-section, .property-quarter-section { min-width: 0; border: 1px solid #333; border-radius: 8px; background: #222; padding: 0.9rem; }
.property-container-section h5, .property-quarter-section h3 { color: #e0cfc0; margin: 0 0 0.5rem; font-size: 0.95rem; }
.property-container-section p, .property-quarter-section p { color: #888; font-size: 0.8rem; line-height: 1.5; margin: 0; }
.property-quarter-master { grid-column: 1 / -1; }
.property-quarter-content { margin-top: 0.25rem; }
.property-quarter-intro { color: #888; font-size: 0.82rem; line-height: 1.5; margin: 0 0 0.4rem; }
.property-quarter-group-title { color: #f0d879; font-size: 1rem; margin: 1.2rem 0 0.6rem; }
.property-quarter-character-records { margin-top: 0.7rem; }
.property-rooms-section { grid-column: 1 / -1; }
.property-room-list { display: grid; gap: 0.55rem; margin: 0.75rem 0; }
.property-room-item { display: grid; grid-template-columns: minmax(90px, 150px) minmax(0, 1fr); align-items: center; gap: 0.6rem; }
.property-room-item label { color: #d8d0bd; font-size: 0.78rem; font-weight: 700; }
.property-room-input { width: 100%; min-width: 0; border: 1px solid #555; border-radius: 5px; background: #191919; color: #f2ede4; padding: 0.55rem 0.65rem; font: inherit; }
.property-room-input:focus-visible, .property-room-add:focus-visible { outline: 2px solid #b9aa00; outline-offset: 2px; }
.property-room-empty { color: #888; font-size: 0.8rem; margin: 0; }
.property-room-add { border: 1px solid #645600; border-radius: 5px; background: #2a260f; color: #f0d879; padding: 0.45rem 0.75rem; font: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer; }
.property-room-add:hover { background: #39310d; }
.home-character-records { max-height: 10rem; overflow-y: auto; margin: 0.45rem 0; }
.home-character-records ul { min-height: 0; list-style: none; margin: 0; padding: 0; }
.home-character-records li { padding: 0.4rem 0; border-bottom: 1px solid #333; color: #d8d0bd; }
.home-character-empty { color: #888; }
.property-container-section { border-color: #333; }
body.lawful-mode .property-container-section, body.lawful-mode .property-quarter-section { background: #fbfaf7; border-color: #d8d0bd; }
body.lawful-mode .property-container-section h5, body.lawful-mode .property-quarter-section h3 { color: #343126; }
body.lawful-mode .property-container-section p, body.lawful-mode .property-quarter-section p { color: #5b584f; }
body.lawful-mode .property-quarter-intro { color: #5b584f; }
body.lawful-mode .property-quarter-group-title { color: #5d4d00; }
body.lawful-mode .property-room-item label { color: #343126; }
body.lawful-mode .property-room-input { background: #fff; border-color: #bdb5a3; color: #343126; }
body.lawful-mode .property-room-add { background: #f5efd1; border-color: #aa9b39; color: #4c3f00; }
body.lawful-mode .property-room-empty { color: #5b584f; }
@media (max-width: 600px) { .property-page-header { gap: 0.5rem; } .property-page-intro { flex-basis: 100%; } }
@media (max-width: 500px) { .property-room-item { grid-template-columns: 1fr; gap: 0.25rem; } }
.property-quarter-content { display: flex; flex-direction: column; gap: 0.8rem; margin-top: 0.25rem; }
.property-quarter-row, .property-quarter-group { min-width: 0; border: 1px solid #333; border-radius: 8px; background: #222; padding: 0.8rem; }
.property-quarter-row h4, .property-quarter-group > h4 { color: #e0cfc0; font-size: 0.88rem; margin: 0 0 0.5rem; }
.property-quarter-row h5 { color: #b9aa00; font-size: 0.76rem; letter-spacing: 0.04em; margin: 0 0 0.45rem; }
.property-quarter-row-note { color: #888; font-size: 0.72rem; line-height: 1.4; margin: 0 0 0.45rem; }
.property-quarter-picker-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; gap: 0.3rem; }
.property-quarter-picker-row[hidden] { display: none; }
.property-quarter-picker { position: relative; min-width: 0; width: 100%; aspect-ratio: 5 / 7; box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; padding: 0.18rem; border: 1px solid #363636; border-radius: 7px; background: #191919; color: #aaa; text-align: center; }
.property-quarter-picker.is-room { border-color: #8f7440; color: #e0cfc0; }
.property-quarter-picker-art { display: flex; flex: 1 1 auto; min-height: 0; width: 100%; box-sizing: border-box; align-items: center; justify-content: center; overflow: hidden; border-radius: 5px; background: radial-gradient(circle, #3a3218, #0d0d0d 72%); color: #5f582f; font-size: 1.1rem; }
.property-quarter-picker-label { display: block; flex: 0 0 0.72rem; min-width: 0; height: 0.72rem; overflow: hidden; margin-top: 0.12rem; color: #d3c78e; font-size: 0.59rem; font-weight: 700; line-height: 0.72rem; text-overflow: ellipsis; white-space: nowrap; }
.property-quarter-picker-label.is-empty { visibility: hidden; }
.property-quarter-more-slot { min-width: 0; width: 100%; aspect-ratio: 5 / 7; box-sizing: border-box; display: flex; align-items: center; justify-content: center; }
.property-quarter-more-pill { display: inline-flex; min-width: 0; align-items: center; justify-content: center; box-sizing: border-box; padding: 0.11rem 0.3rem; border: 1px solid #4a4020; border-radius: 999px; background: rgba(23,21,13,0.96); color: #b9aa00; font-size: 0.76rem; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; }
.property-quarter-more-link { cursor: pointer; text-decoration: none; }
.property-quarter-more-link:hover .property-quarter-more-pill, .property-quarter-more-link:focus-visible .property-quarter-more-pill { border-color: #b9aa00; color: #f0d879; }
.property-quarter-more-link:focus-visible .property-quarter-more-pill { outline: 2px solid #f0d879; outline-offset: 2px; }
body.lawful-mode .property-quarter-row, body.lawful-mode .property-quarter-group { border-color: #d8d0bd; background: #fbfaf7; }
body.lawful-mode .property-quarter-row h4, body.lawful-mode .property-quarter-group > h4 { color: #343126; }
body.lawful-mode .property-quarter-row h5 { color: #5d4d00; }
body.lawful-mode .property-quarter-picker { border-color: #d8d0bd; background: #f6f1e5; }
body.lawful-mode .property-quarter-picker.is-room { border-color: #aa9b39; }
body.lawful-mode .property-quarter-more-pill { border-color: #aa9b39; background: rgba(255,251,234,0.96); color: #7a6a00; }
body.lawful-mode .property-quarter-more-link:hover .property-quarter-more-pill, body.lawful-mode .property-quarter-more-link:focus-visible .property-quarter-more-pill { border-color: #7a6a00; color: #5d4d00; }
.property-quarter-group > h4.property-rank-legendary, body.lawful-mode .property-quarter-group > h4.property-rank-legendary { color: var(--property-rank-color); }
@media (max-width: 430px) {
    .property-quarter-picker-row { gap: 0.26rem; }
    .property-quarter-picker-label { font-size: 0.51rem; }
    .property-quarter-more-pill { padding: 0.09rem 0.25rem; font-size: 0.68rem; }
}