
	dialog.svelte-c42ahe { position: fixed; inset: 0; margin: auto; width: min(640px, calc(100vw - 32px)); max-height: 85vh; box-sizing: border-box; overflow: auto; padding: 24px; border: 1px solid var(--border, #635437); border-radius: 12px; background: var(--bg-card, #191919); color: var(--text-pri); }
	dialog.svelte-c42ahe::backdrop { background: #000a; }
	h2.svelte-c42ahe { margin: 0 0 10px; font-size: 28px; line-height: 1.3; font-weight: 700; color: var(--gold); }
	h3.svelte-c42ahe { font-size: 20px; line-height: 1.4; color: var(--gold); margin: 0 0 12px; }
	p.svelte-c42ahe, li.svelte-c42ahe { font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
	.intro.svelte-c42ahe { margin: 0; color: var(--text-pri); }
	.notes.svelte-c42ahe { position: relative; margin-top: 12px; }
	.notes-button.svelte-c42ahe { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg-elevated); color: var(--gold); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
	.notes-button.svelte-c42ahe:hover, .notes-button[aria-expanded="true"].svelte-c42ahe { border-color: var(--gold); }
	.notes-button.svelte-c42ahe:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
	.notes-panel.svelte-c42ahe { position: absolute; top: 100%; left: 0; right: 0; z-index: 2; max-height: min(380px, 45vh); overflow-y: auto; padding: 20px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-elevated); color: var(--text-pri); box-shadow: var(--shadow-card); }
	.notes-panel.svelte-c42ahe h3:where(.svelte-c42ahe) { font-size: 16px; margin: 18px 0 6px; }
	.notes-panel.svelte-c42ahe h3:where(.svelte-c42ahe):first-child { margin-top: 0; }
	.notes-panel.svelte-c42ahe p:where(.svelte-c42ahe) { font-size: 14px; margin: 0 0 8px; }
	fieldset.svelte-c42ahe { padding: 0; margin: 16px 0; border: 0; display: grid; gap: 14px; min-width: 0; }
	legend.svelte-c42ahe { width: 100%; padding: 0 0 12px; margin-bottom: 14px; border-bottom: 1px solid var(--border-strong); font-size: 18px; font-weight: 600; color: var(--gold); }
	label.svelte-c42ahe { display: grid; gap: 8px; font-size: 15px; font-weight: 600; color: var(--text-pri); }
	input.svelte-c42ahe, select.svelte-c42ahe, textarea.svelte-c42ahe { font-size: 15px; font-weight: 400; }
	textarea.svelte-c42ahe { width: 100%; box-sizing: border-box; resize: vertical; font-family: monospace; }
	.preview.svelte-c42ahe { padding: 16px; border: 1px solid var(--border, #635437); border-radius: 8px; }
	.skill-preview.svelte-c42ahe { overflow-x: auto; }
	table.svelte-c42ahe { width: 100%; border-collapse: collapse; font-size: 14px; }
	th.svelte-c42ahe, td.svelte-c42ahe { padding: 8px; text-align: left; border-bottom: 1px solid var(--border, #635437); }
	thead.svelte-c42ahe th:where(.svelte-c42ahe) { white-space: nowrap; }
	tbody.svelte-c42ahe th:where(.svelte-c42ahe) { min-width: 100px; font-weight: normal; }
	dt.svelte-c42ahe { margin-top: 12px; font-weight: bold; }
	dd.svelte-c42ahe { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
	summary.svelte-c42ahe { cursor: pointer; padding: 10px 0; font-size: 15px; font-weight: 600; color: var(--gold); }
	.actions.svelte-c42ahe { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }
	.import-error.svelte-c42ahe { color: var(--danger-bright); }

	.title-row.svelte-75i7xh { display:flex; justify-content:space-between; align-items:center; padding:20px 0 30px; flex-wrap:wrap; gap:12px; }
	.title-actions.svelte-75i7xh { display:flex; gap:10px; flex-wrap:wrap; }
	.title-icon.svelte-75i7xh { width:32px; height:32px; vertical-align:middle; margin-right:8px; filter: var(--filter-icon-gold); }
	/* (unused) .btn-icon { width:16px; height:16px; vertical-align:middle; margin-right:4px; filter: var(--filter-icon-gold); }*/

	/* State cards (empty / error) */
	.state-card.svelte-75i7xh {
		text-align: center;
		padding: 80px 40px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		max-width: 480px;
		margin: 40px auto;
	}
	.state-icon.svelte-75i7xh { width: 72px; height: 72px; margin-bottom: 8px; }
	.state-msg.svelte-75i7xh { color: var(--text-pri); font-size: 17px; }
	.state-sub.svelte-75i7xh { color: var(--text-sec); font-size: 13px; line-height: 1.6; }
	.state-actions.svelte-75i7xh { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }

	/* Character grid */
	.char-grid.svelte-75i7xh { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
	.char-card.svelte-75i7xh { overflow:visible; position:relative; }
	.edition-badge.svelte-75i7xh { position:absolute; top:12px; right:14px; width:26px; height:26px; border-radius:50%; background:var(--bg-elevated); border:1px solid var(--border-strong); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:var(--gold); font-family:var(--font-mono); z-index:1; }
	.char-link.svelte-75i7xh { display:flex; align-items:center; gap:16px; padding:18px 20px; text-decoration:none; color:inherit; }
	.char-link.svelte-75i7xh:hover { background:rgba(201,169,110,0.03); }
	.char-portrait.svelte-75i7xh { width:56px; height:56px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid var(--border-vis); }
	.char-portrait.svelte-75i7xh img:where(.svelte-75i7xh) { width:100%; height:100%; object-fit:cover; }
	.portrait-placeholder.svelte-75i7xh { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:var(--bg-elevated); }
	.portrait-placeholder.svelte-75i7xh img:where(.svelte-75i7xh) { width:28px; height:28px; opacity:0.4; filter: var(--filter-icon-gold); }
	.char-info.svelte-75i7xh h3:where(.svelte-75i7xh) { font-size:16px; color:var(--text-pri); font-family:var(--font-cjk); }
	.char-occ.svelte-75i7xh { font-size:12px; color:var(--text-sec); }
	.char-actions.svelte-75i7xh { display:flex; gap:8px; padding:0 20px 14px; }
	.btn-sm.svelte-75i7xh { padding:6px 14px; font-size:12px; }

	@media (max-width: 600px) {
		.title-row.svelte-75i7xh { padding: 16px 0 20px; }
		.title-actions.svelte-75i7xh { gap: 8px; }
	}

	/* ── Corner decorations ── */
	.corner.svelte-75i7xh {
		position: absolute;
		background-repeat: no-repeat;
		pointer-events: none;
		z-index: 5;
	}
	/* border9 — 6版 left-top only */
	.b2-tl.svelte-75i7xh {
		top: -10px; left: -10px;
		width: 55px; height: 55px;
		background-image: url('../../../icons/border9.png');
		background-size: 55px 55px;
	}
	/* border5 — 7版 left-top only */
	.b5-tl.svelte-75i7xh {
		top: -10px; left: -10px;
		width: 55px; height: 55px;
		background-image: url('../../../icons/border5.png');
		background-size: 55px 55px;
	}
