
	.loading.svelte-maq4gq { text-align: center; padding: 60px; color: var(--text-sec); font-size: 18px; }

	/* ── Page layout ── */
	.page-content.svelte-maq4gq {
		display: grid;
		grid-template-columns: 1fr 320px;
		gap: 20px;
		align-items: start;
		padding: 20px 0 40px;
	}
	@media (max-width: 900px) {
		.page-content.svelte-maq4gq { grid-template-columns: 1fr; }
	}

	/* ── Profile Card ── */
	.profile-card.svelte-maq4gq { padding: 0; overflow: hidden; }

	/* Banner */
	.pc-banner.svelte-maq4gq {
		position: relative;
		text-align: center;
		padding: 24px 140px;
		background: linear-gradient(135deg, rgba(201,169,110,0.08) 0%, rgba(201,169,110,0.03) 60%, transparent 100%);
		border-bottom: 1px solid var(--border-vis);
	}
	.banner-main.svelte-maq4gq {
		font-family: var(--font-display);
		font-size: 36px;
		letter-spacing: 10px;
		color: var(--gold);
		line-height: 1.2;
	}
	.banner-sub.svelte-maq4gq {
		font-family: var(--font-display);
		font-size: 11px;
		letter-spacing: 2.5px;
		color: var(--text-ter);
		text-transform: uppercase;
		margin-top: 4px;
	}
	.banner-actions.svelte-maq4gq {
		position: absolute;
		right: 28px;
		top: 50%;
		transform: translateY(-50%);
		display: flex;
		flex-direction: column;
		gap: 8px;
		align-items: stretch;
	}
	.btn-banner-btn.svelte-maq4gq {
		font-size: 14px;
		padding: 8px 18px;
		white-space: nowrap;
		text-align: center;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
	}
	.btn-share.svelte-maq4gq {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
	}
	.btn-icon-xs.svelte-maq4gq {
		width: 14px;
		height: 14px;
		flex-shrink: 0;
		filter: var(--filter-icon-gold);
	}

	/* ── Header ── */
	.pc-header.svelte-maq4gq {
		display: flex;
		gap: 32px;
		padding: 28px;
		border-bottom: 1px solid var(--border-vis);
		align-items: stretch;
	}
	@media (max-width: 600px) {
		.pc-header.svelte-maq4gq { flex-direction: column; }
		.pc-banner.svelte-maq4gq { padding: 20px 28px 20px; }
		.banner-actions.svelte-maq4gq { position: static; transform: none; margin-top: 12px; flex-direction: row; }
	}

	/* ── 左欄：頭像 Badge ── */
	.avatar-col.svelte-maq4gq {
		flex-shrink: 0;
		width: 220px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}
	.avatar-badge.svelte-maq4gq {
		width: 100%;
		flex: 1;
		min-height: 300px;
		position: relative;
		border: 1px solid var(--border-strong);
		border-radius: 8px;
		overflow: hidden;
		background: var(--bg-elevated);
	}
	.avatar-img.svelte-maq4gq {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.avatar-ph.svelte-maq4gq {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.ph-icon.svelte-maq4gq {
		width: 64px;
		height: 64px;
		opacity: 0.35;
		filter: var(--filter-icon-gold);
	}
	.badge-corner.svelte-maq4gq {
		position: absolute;
		width: 14px;
		height: 14px;
		border-color: var(--gold);
		border-style: solid;
		pointer-events: none;
		opacity: 0.7;
	}
	.badge-corner.tl.svelte-maq4gq { top: 5px; left: 5px;   border-width: 1.5px 0 0 1.5px; }
	.badge-corner.tr.svelte-maq4gq { top: 5px; right: 5px;  border-width: 1.5px 1.5px 0 0; }
	.badge-corner.bl.svelte-maq4gq { bottom: 5px; left: 5px; border-width: 0 0 1.5px 1.5px; }
	.badge-corner.br.svelte-maq4gq { bottom: 5px; right: 5px; border-width: 0 1.5px 1.5px 0; }

	.dc-info.svelte-maq4gq { text-align: center; line-height: 1.5; }
	.dc-name.svelte-maq4gq {
		font-size: 16px;
		color: var(--text-sec);
		font-family: var(--font-cjk-ui);
	}
	.dc-id.svelte-maq4gq {
		font-size: 13px;
		color: var(--text-ter);
		font-family: var(--font-mono);
	}

	/* ── 右欄：玩家資訊 ── */
	.info-col.svelte-maq4gq {
		flex: 1;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 18px;
		align-items: center;
	}

	/* 玩家名稱（置中） */
	.name-block.svelte-maq4gq { width: 100%; text-align: center; }
	.display-name.svelte-maq4gq {
		font-family: var(--font-cjk);
		font-size: 34px;
		color: var(--text-pri);
		letter-spacing: 3px;
		line-height: 1.2;
	}

	/* 玩家身分（GM | GM/PL | PL，置中） */
	.role-row.svelte-maq4gq {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		flex-wrap: wrap;
	}
	.role-sep.svelte-maq4gq {
		color: var(--text-ter);
		font-size: 18px;
		line-height: 1;
	}
	.role-badge.svelte-maq4gq {
		font-family: var(--font-display);
		font-size: 18px;
		letter-spacing: 2px;
		color: var(--text-ter);
		padding: 4px 16px;
		border: 1px solid transparent;
		border-radius: 4px;
		transition: all 0.2s;
	}
	.role-badge.role-active.svelte-maq4gq {
		color: var(--gold);
		border-color: var(--gold);
		background: rgba(201,169,110,0.08);
	}

	/* option badge 列（左對齊，可換行） */
	.option-row-wrap.svelte-maq4gq {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 6px;
	}

	.option-sep.svelte-maq4gq {
		color: var(--text-ter);
		font-size: 16px;
		line-height: 1;
	}
	.option-badge.svelte-maq4gq {
		font-size: 15px;
		color: var(--text-ter);
		padding: 3px 12px;
		border: 1px solid transparent;
		border-radius: 4px;
		transition: all 0.2s;
	}
	.option-badge.option-active.svelte-maq4gq {
		color: var(--gold);
		border-color: var(--gold);
		background: rgba(201,169,110,0.08);
	}

	/* 欄位標題 */
	.field-title.svelte-maq4gq {
		font-family: var(--font-cjk);
		font-size: 20px;
		color: var(--gold);
		letter-spacing: 1px;
		margin-bottom: 10px;
		line-height: 1.3;
	}

	/* 關於我 */
	.field-block.svelte-maq4gq { width: 100%; }
	.about-text.svelte-maq4gq {
		font-size: 16px;
		color: var(--text-pri);
		white-space: pre-wrap;
		line-height: 1.8;
		margin: 0;
	}

	/* 分隔線 */
	.info-divider.svelte-maq4gq {
		height: 1px;
		width: 100%;
		background: var(--border-vis);
	}

	/* 方便時段 + 遊玩方式並排 */
	.ts-row.svelte-maq4gq { display: flex; gap: 28px; flex-wrap: wrap; width: 100%; }
	.ts-sub.svelte-maq4gq { flex: 1; min-width: 120px; }
	.ts-empty.svelte-maq4gq { font-size: 15px; color: var(--text-ter); margin: 0; }
	.tag-list.svelte-maq4gq { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.tag.svelte-maq4gq {
		display: inline-block;
		padding: 5px 14px;
		border-radius: 20px;
		background: var(--bg-elevated);
		border: 1px solid var(--border-vis);
		font-size: 16px;
		color: var(--text-pri);
		line-height: 1.4;
	}

	/* 空狀態 */
	.empty-hint.svelte-maq4gq { color: var(--text-sec); font-size: 16px; }
	.empty-hint.svelte-maq4gq a:where(.svelte-maq4gq) { color: var(--gold); text-decoration: underline; }

	/* ── Card 內的各區塊 ── */
	.pc-section.svelte-maq4gq {
		border-top: 1px solid var(--border-vis);
		padding: 24px 28px;
	}
	.pc-row.svelte-maq4gq { display: flex; gap: 32px; flex-wrap: wrap; }
	.pc-sub.svelte-maq4gq { flex: 1; min-width: 160px; }

	/* 喜歡的劇本傾向（4欄格列） */
	.scenario-grid.svelte-maq4gq {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0;
	}
	@media (max-width: 700px) {
		.scenario-grid.svelte-maq4gq { grid-template-columns: repeat(2, 1fr); }
	}
	.scenario-item.svelte-maq4gq {
		font-size: 16px;
		color: var(--text-pri);
		padding: 8px 4px 8px 0;
		border-bottom: 1px solid var(--border-vis);
		line-height: 1.5;
	}
	.scenario-item.svelte-maq4gq::before { content: '▸ '; color: var(--text-sec); font-size: 12px; }

	/* ── 右側欄 ── */
	.side-col.svelte-maq4gq { display: flex; flex-direction: column; gap: 16px; }
	.side-card.svelte-maq4gq { padding: 20px 22px; }

	.side-header.svelte-maq4gq {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		margin-bottom: 16px;
	}
	.side-title.svelte-maq4gq {
		font-family: var(--font-cjk) !important;
		font-size: 22px !important;
		letter-spacing: 2px !important;
		color: var(--gold) !important;
		text-transform: none !important;
	}
	.btn-side-edit.svelte-maq4gq {
		font-size: 14px;
		padding: 6px 14px;
		color: var(--text-sec);
		border-color: var(--border-vis);
		display: inline-flex;
		align-items: center;
		gap: 5px;
	}
	.btn-side-edit.svelte-maq4gq:hover { color: var(--text-pri); border-color: var(--border-strong); }
	.btn-icon-dim.svelte-maq4gq {
		filter: brightness(0) invert(60%) !important;
		opacity: 0.7;
	}
	.side-empty.svelte-maq4gq { color: var(--text-sec); font-size: 16px; }

	/* 地雷表 + 喜好表（同樣樣式） */
	.mine-list.svelte-maq4gq { list-style: none; padding: 0; margin: 0; }
	.mine-item.svelte-maq4gq {
		font-size: 16px;
		color: var(--text-pri);
		padding: 8px 0;
		border-bottom: 1px solid var(--border-vis);
		line-height: 1.5;
	}
	.mine-item.svelte-maq4gq:last-child { border-bottom: none; }
	.mine-item.svelte-maq4gq::before { content: '▸ '; color: var(--text-sec); font-size: 12px; }

	/* ── Corner decorations ── */
	.corner-wrap.svelte-maq4gq { position: relative; }

	/* generic corner span */
	.corner.svelte-maq4gq {
		position: absolute;
		background-repeat: no-repeat;
		pointer-events: none;
		z-index: 10;
	}

	/* border3 — INFORMATION block (left-top original) */
	.b3.svelte-maq4gq { width: 65px; height: 65px; background-image: url('../../../icons/border3.png'); background-size: 65px 65px; }
	.b3-tl.svelte-maq4gq { top: -5px; left: -5px; }
	.b3-tr.svelte-maq4gq { top: -5px; right: -5px; transform: scaleX(-1); }
	.b3-bl.svelte-maq4gq { bottom: -5px; left: -5px; transform: scaleY(-1); }
	.b3-br.svelte-maq4gq { bottom: -5px; right: -5px; transform: scale(-1,-1); }


	/* border4 — 喜好表/地雷表 (left-top original) */
	.b4.svelte-maq4gq { width: 55px; height: 55px; background-image: url('../../../icons/border4.png'); background-size: 55px 55px; }
	.side-wrap.svelte-maq4gq { overflow: visible; }
	.b4-tl.svelte-maq4gq { top: -5px; left: -5px; }
	.b4-tr.svelte-maq4gq { top: -5px; right: -5px; transform: scaleX(-1); }
	.b4-bl.svelte-maq4gq { bottom: -5px; left: -5px; transform: scaleY(-1); }
	.b4-br.svelte-maq4gq { bottom: -5px; right: -5px; transform: scale(-1,-1); }

	/* line1.png — decorative line on top border of INFORMATION card */
	.line1-deco.svelte-maq4gq {
		position: absolute;
		top: -8px;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 60%;
		height: 40px;
		background-image: url('../../../icons/line1.png');
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		pointer-events: none;
		z-index: 10;
	}
