body.profile-page,
body.profile-page .profile-page-bg {
	background: #fff !important;
	color: #121212;
	font-family: "Noto Sans TC", "Microsoft JhengHei", system-ui, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
}

/* Fullscreen video player / 全螢幕影片播放器 */
.profile-media-modal{padding:0;background:#000;}
.profile-media-modal-backdrop{z-index:0;background:rgba(0,0,0,.2);}
.profile-modal-ambient{position:absolute;z-index:1;inset:-44px;overflow:hidden;background:#000;pointer-events:none;}
.profile-modal-ambient::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.1) 38%,rgba(0,0,0,.1) 62%,rgba(0,0,0,.58));content:"";}
.profile-modal-ambient img{width:100%;height:100%;object-fit:cover;opacity:.56;filter:blur(34px) saturate(.9);transform:scale(1.08);}
.profile-media-dialog{position:absolute;z-index:2;inset:0;display:block;width:100vw;height:100dvh;max-height:none;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;}
.profile-modal-player{position:absolute;inset:0;display:grid;width:100%;height:100%;place-items:center;background:transparent;}
.profile-modal-player video{position:relative;z-index:2;width:100%;height:100%;max-height:100dvh;object-fit:contain;background:transparent;}
.profile-modal-comments{display:none;}
.profile-media-modal-close{top:24px;right:auto;left:28px;z-index:9;display:grid;width:56px;height:56px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.48);color:#fff;font-size:38px;line-height:1;backdrop-filter:blur(10px);}
.profile-media-modal-close:hover{border-color:rgba(255,255,255,.65);background:rgba(236,72,153,.84);}
.profile-media-modal-nav{right:24px;left:auto;z-index:9;display:grid;width:60px;height:60px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(0,0,0,.54);box-shadow:0 10px 32px rgba(0,0,0,.38);color:#fff;font-size:38px;backdrop-filter:blur(10px);}
.profile-media-modal-nav:hover{border-color:rgba(236,72,153,.72);background:rgba(236,72,153,.88);}
.profile-media-modal-nav.is-prev{top:calc(50% - 70px);left:auto;}
.profile-media-modal-nav.is-next{top:calc(50% + 10px);right:24px;}
@media (max-width:768px){.profile-media-modal{padding:0;}.profile-media-dialog{width:100vw;height:100dvh;grid-template-columns:none;grid-template-rows:none;}.profile-media-modal-close{top:16px;right:auto;left:16px;width:48px;height:48px;font-size:32px;}.profile-media-modal-nav{right:12px!important;width:48px;height:48px;border-radius:14px;font-size:30px;}.profile-media-modal-nav.is-prev{display:grid;top:calc(50% - 58px);left:auto;}.profile-media-modal-nav.is-next{display:grid;top:calc(50% + 10px);}}

/* Post tip dialog: the profile feed uses the same heart-payment API as a standalone post. */
.profile-tip-modal[hidden]{display:none!important;}.profile-tip-modal{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:18px;}.profile-tip-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.52);}.profile-tip-dialog{position:relative;width:min(400px,calc(100vw - 34px));padding:28px;border-radius:26px;background:#fff;color:#14151a;box-shadow:0 22px 70px rgba(0,0,0,.3);}.profile-tip-dialog h2{margin:0 0 10px;text-align:center;font-size:22px;font-weight:900;}.profile-tip-dialog>p{margin:0 auto 22px;max-width:285px;color:#656975;font-size:13px;font-weight:600;line-height:1.55;text-align:center;}.profile-tip-field-title{display:block;margin-bottom:8px;font-size:15px;font-weight:900;}.profile-tip-input{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;height:52px;align-items:center;padding:0 14px;border:1px solid #dde0e7;border-radius:11px;}.profile-tip-heart{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#ff4968;color:#fff;font-size:13px;}.profile-tip-input input{width:100%;border:0;outline:0;color:#14151a;font-size:16px;font-weight:850;}.profile-tip-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0 20px;}.profile-tip-presets button{height:36px;border:0;border-radius:999px;background:#f0f1f5;color:#252631;font-size:13px;font-weight:850;cursor:pointer;}.profile-tip-presets button:hover{background:#ffe2eb;color:#d61c59;}.profile-tip-switch{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:12px;align-items:center;margin:0 0 15px;cursor:pointer;}.profile-tip-switch strong,.profile-tip-switch small{display:block;}.profile-tip-switch strong{font-size:15px;}.profile-tip-switch small{margin-top:3px;color:#737682;font-size:12px;line-height:1.4;}.profile-tip-switch input{position:absolute;opacity:0;}.profile-tip-switch i{position:relative;width:46px;height:28px;border-radius:999px;background:#e5e7eb;}.profile-tip-switch i:before{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);content:"";transition:transform .16s ease;}.profile-tip-switch input:checked+i{background:#ec4899;}.profile-tip-switch input:checked+i:before{transform:translateX(18px);}.profile-tip-message{width:100%;min-height:66px;margin:0 0 15px;padding:10px 12px;border:1px solid #e1e3e9;border-radius:11px;color:#1c1d24;font:13px/1.5 inherit;resize:vertical;outline:0;}.profile-tip-message:focus{border-color:#f472a4;box-shadow:0 0 0 3px rgba(244,114,164,.17);}.profile-tip-status{min-height:19px;margin:-3px 0 10px;color:#d81e58;font-size:13px;font-weight:800;text-align:center;}.profile-tip-status.is-success{color:#15965b;}.profile-tip-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.profile-tip-actions button{height:47px;border-radius:999px;font-size:15px;font-weight:850;cursor:pointer;}.profile-tip-cancel{border:1px solid #e1e3e9;background:#fff;color:#24252d;}.profile-tip-submit{border:0;background:linear-gradient(105deg,#ec4899,#f43f6e);color:#fff;}.profile-tip-submit:disabled{cursor:wait;opacity:.6;}.profile-post-tip{color:#e11d67!important;}.profile-post-tip:hover,.profile-post-tip:focus-visible{color:#be123c!important;}
@media(max-width:600px){.profile-tip-dialog{padding:25px 18px 20px;border-radius:23px;}}
.profile-post-tip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.profile-post-tip .tip-coins-icon .tip-coin-back{fill:#b96c08!important;stroke:#814200!important;}.profile-post-tip .tip-coins-icon .tip-coin-stack{fill:#e79a13!important;stroke:#954f00!important;}.profile-post-tip .tip-coins-icon .tip-coin-face{fill:#ffd966!important;stroke:#954f00!important;}.profile-post-tip .tip-coins-icon .tip-coin-mark{fill:none!important;stroke:#914300!important;stroke-width:1.45;}.profile-post-tip .tip-coins-icon .tip-coin-glint{fill:none!important;stroke:#fff6c6!important;stroke-width:1.25;}

/* Media comment drawer: clear hierarchy, touch-friendly composer, and mobile safe area. */
.profile-modal-comments.is-open {
	width: min(420px, 100vw);
	border-left: 1px solid rgba(17, 24, 39, .08);
	box-shadow: -20px 0 52px rgba(15, 23, 42, .26);
}

.profile-modal-comments.is-open header {
	position: relative;
	height: 78px;
	padding: 0 18px;
	background: linear-gradient(135deg, #fff 0%, #fff7fa 100%);
}

.profile-modal-comments.is-open header img {
	width: 42px;
	height: 42px;
	box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(244, 63, 94, .25);
}

.profile-modal-comments.is-open header strong {
	font-size: 15px;
	letter-spacing: .01em;
}

.profile-modal-comments.is-open .profile-modal-comment-list {
	padding: 20px 18px 28px;
	background: #fafafb;
	scrollbar-color: rgba(148, 163, 184, .65) transparent;
}

.profile-modal-comment {
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	margin-bottom: 16px;
}

.profile-modal-comment img {
	width: 40px;
	height: 40px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, .14);
}

.profile-modal-comment > div {
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid #ececf1;
	border-radius: 4px 16px 16px 16px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .045);
}

.profile-modal-comment-author {
	display: inline-block;
	margin-bottom: 4px;
	color: #1f2937;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.profile-modal-comment-author:hover { color: #e11d48; text-decoration: underline; }
.profile-modal-comment-author:focus-visible { outline: 3px solid rgba(244, 63, 94, .45); outline-offset: 2px; border-radius: 4px; }

.profile-modal-comment p {
	color: #374151;
	font-size: 15px;
	line-height: 1.55;
	word-break: break-word;
}

.profile-modal-comment-time {
	display: block;
	margin-top: 7px;
	color: #8b93a1;
	font-size: 12px;
	font-weight: 600;
}

.profile-modal-comment-empty,
.profile-modal-comment-loading {
	display: grid;
	min-height: 180px;
	margin: 0;
	place-items: center;
	border: 1px dashed #d8dce4;
	border-radius: 18px;
	color: #6b7280;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.profile-modal-comments.is-open footer {
	padding: 12px 16px 14px;
	background: #fff;
	box-shadow: 0 -7px 18px rgba(15, 23, 42, .045);
}

.profile-modal-comment-form {
	min-height: 50px;
	margin: 0;
	padding: 4px 4px 4px 16px;
	border: 1px solid #e1e4ea;
	border-radius: 999px;
	background: #f5f6f8;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.profile-modal-comment-form:focus-within {
	border-color: rgba(244, 63, 94, .68);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(244, 63, 94, .12);
}

.profile-modal-comment-form input {
	min-height: 44px;
	color: #1f2937;
	font-size: 16px;
}

.profile-modal-comment-form input::placeholder { color: #98a0ae; }

.profile-modal-comment-form button {
	min-width: 76px;
	min-height: 42px;
	padding: 0 16px;
	border-radius: 999px;
	background: linear-gradient(135deg, #f43f5e, #ec4899);
	box-shadow: 0 3px 10px rgba(244, 63, 94, .28);
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}

.profile-modal-comment-form button:hover { filter: brightness(1.04); transform: translateY(-1px); }
.profile-modal-comment-form button:active { transform: translateY(0) scale(.98); }
.profile-modal-comment-form button:focus-visible { outline: 3px solid rgba(244, 63, 94, .42); outline-offset: 3px; }
.profile-modal-comment-form button:disabled { cursor: wait; opacity: .58; filter: grayscale(.2); transform: none; }

.profile-modal-comment-status {
	min-height: 18px;
	margin: 6px 8px 0;
	font-size: 12px;
	font-weight: 700;
}

html.dark body.profile-page .profile-modal-comments.is-open header,
html.dark body.profile-page .profile-modal-comments.is-open footer { background: #15151b; }
html.dark body.profile-page .profile-modal-comments.is-open .profile-modal-comment-list { background: #0f0f14; }
html.dark body.profile-page .profile-modal-comment > div { border-color: #2b2b35; background: #1a1a22; box-shadow: none; }
html.dark body.profile-page .profile-modal-comment-author,
html.dark body.profile-page .profile-modal-comment-form input { color: #f8fafc; }
html.dark body.profile-page .profile-modal-comment p { color: #d6d9df; }
html.dark body.profile-page .profile-modal-comment-form { border-color: #343440; background: #23232c; }
html.dark body.profile-page .profile-modal-comment-form:focus-within { background: #181820; }

@media (max-width: 768px) {
	.profile-modal-comments.is-open {
		height: min(80dvh, 760px);
		border-radius: 24px 24px 0 0;
	}
	.profile-modal-comments.is-open header { height: 72px; padding-top: 8px; }
	.profile-modal-comments.is-open header::before { content: ''; position: absolute; top: 9px; left: 50%; width: 42px; height: 4px; border-radius: 999px; background: #d4d7de; transform: translateX(-50%); }
	.profile-modal-comments.is-open .profile-modal-comment-list { padding: 16px 14px 24px; }
	.profile-modal-comments.is-open footer { padding: 10px 12px max(12px, env(safe-area-inset-bottom)); }
	.profile-modal-comment-form { gap: 6px; padding-left: 14px; }
	.profile-modal-comment-form button { min-width: 68px; padding: 0 13px; }
}

@media (prefers-reduced-motion: reduce) {
	.profile-modal-comment-form,
	.profile-modal-comment-form button { transition: none; }
}

/* The profile hero owns its mobile back control; suppress the shared header duplicate. */
@media (max-width: 1023px) {
	body.profile-page .site-mobile-header {
		display: none !important;
	}
}

/* Full-screen media comment drawer and navigation controls. */
.profile-modal-social-item.js-profile-modal-open-comments{border:0;background:transparent;padding:0;cursor:pointer;font:inherit;}
.profile-modal-social-item.js-profile-modal-open-comments:hover svg,.profile-modal-social-item.js-profile-modal-open-comments:focus-visible svg{background:rgba(236,72,153,.9);}
.profile-modal-social-item.js-profile-modal-open-comments:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px;}
.profile-modal-social-item.js-profile-modal-like{border:0;background:transparent;padding:0;cursor:pointer;font:inherit;}.profile-modal-social-item.js-profile-modal-like:hover svg,.profile-modal-social-item.js-profile-modal-like.is-liked svg{background:rgba(236,72,153,.9);}.profile-modal-social-item.js-profile-modal-like.is-liked svg{fill:#ec4899;stroke:#fff;}.profile-modal-social-item.js-profile-modal-like:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px;}
.profile-media-modal-nav.is-prev{top:24px!important;right:102px!important;left:auto!important;}
.profile-media-modal-nav.is-next{top:24px!important;right:28px!important;left:auto!important;}
.profile-modal-comments.is-open{position:fixed;z-index:20;top:0;right:0;display:flex;width:min(390px,100vw);height:100dvh;border-left:1px solid rgba(255,255,255,.12);background:#fff;color:#17171c;box-shadow:-18px 0 44px rgba(0,0,0,.32);animation:profile-comment-drawer-in .2s ease-out;}
.profile-modal-comments.is-open header{height:72px;padding:0 16px;border-color:#ececf0;}
.profile-modal-comments.is-open footer{padding:10px 16px 12px;border-color:#ececf0;background:#fff;}
.profile-modal-comments.is-open .profile-modal-comment-list{padding:16px;}
.profile-modal-comments-close{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;color:#35353d;cursor:pointer;}
.profile-modal-comments-close:hover{background:#f2f2f5;}.profile-modal-comments-close:focus-visible{outline:3px solid #ec4899;outline-offset:2px;}
.profile-modal-comments-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.profile-modal-comments.is-open .profile-modal-comment{grid-template-columns:36px minmax(0,1fr);gap:10px;margin-bottom:18px;}
.profile-modal-comment-author{display:block;color:#19191f;text-decoration:none;font-size:14px;font-weight:900;line-height:1.35;}.profile-modal-comment-author:hover{text-decoration:underline;}
.profile-modal-comment-time{display:block;margin-top:4px;color:#858792;font-size:12px;font-weight:700;}.profile-modal-comment-empty,.profile-modal-comment-loading{margin:0;padding:28px 10px;color:#858792;font-size:14px;font-weight:700;line-height:1.6;text-align:center;}
.profile-modal-comment-form{margin-top:0;min-height:44px;border-top:0;}.profile-modal-comment-form input{min-height:44px;padding:0 4px;font-size:15px;}.profile-modal-comment-form button{min-width:48px;min-height:44px;border-radius:12px;color:#ec4899;}.profile-modal-comment-form button:disabled{opacity:.45;cursor:wait;}.profile-modal-comment-status{min-height:18px;margin:3px 0 0;color:#d13c54;font-size:12px;font-weight:700;line-height:1.35;}
html.dark body.profile-page .profile-modal-comments.is-open,html.dark body.profile-page .profile-modal-comments.is-open footer{background:#111116;color:#f7f7f8;}html.dark body.profile-page .profile-modal-comments.is-open header,html.dark body.profile-page .profile-modal-comments.is-open footer{border-color:#292933;}html.dark body.profile-page .profile-modal-comments-close,html.dark body.profile-page .profile-modal-comment-author{color:#f7f7f8;}html.dark body.profile-page .profile-modal-comments-close:hover{background:#24242b;}html.dark body.profile-page .profile-modal-comment-time,html.dark body.profile-page .profile-modal-comment-empty,html.dark body.profile-page .profile-modal-comment-loading{color:#a1a1aa;}
@keyframes profile-comment-drawer-in{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.profile-modal-comments.is-open{animation:none;}}
@media (max-width:768px){.profile-media-modal-nav.is-prev{top:16px!important;right:74px!important;}.profile-media-modal-nav.is-next{top:16px!important;right:16px!important;}.profile-modal-comments.is-open{top:auto;bottom:0;left:0;width:100%;height:min(78dvh,720px);border:0;border-radius:22px 22px 0 0;box-shadow:0 -16px 42px rgba(0,0,0,.35);animation:profile-comment-sheet-in .2s ease-out;}.profile-modal-comments.is-open header{height:64px;}.profile-modal-comments.is-open .profile-modal-comment-list{padding:14px;}.profile-modal-comments.is-open footer{padding-bottom:max(12px,env(safe-area-inset-bottom));}@keyframes profile-comment-sheet-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}}
.profile-modal-social-rail{position:absolute;z-index:8;top:43%;right:20px;display:grid;width:68px;gap:12px;place-items:center;transform:translateY(-12%);}
.profile-modal-social-avatar{display:grid;width:50px;height:50px;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#111827;box-shadow:0 8px 24px rgba(0,0,0,.45);}
.profile-modal-social-avatar img{width:100%;height:100%;object-fit:cover;}
.profile-modal-social-item{display:grid;min-width:58px;gap:3px;place-items:center;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.9);}
.profile-modal-social-item svg{width:42px;height:42px;padding:10px;border-radius:50%;background:rgba(0,0,0,.5);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;backdrop-filter:blur(8px);}
.profile-modal-social-item strong{font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;}.profile-modal-social-item span{font-size:9px;font-weight:700;}
@media (max-width:768px){.profile-modal-social-rail{right:6px;width:54px;gap:8px;}.profile-modal-social-avatar{width:42px;height:42px;}.profile-modal-social-item svg{width:36px;height:36px;padding:8px;}.profile-modal-social-item strong{font-size:10px;}.profile-modal-social-item span{display:none;}}

.profile-shell {
	width: min(100%, 1040px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 640px) 280px;
	align-items: start;
	gap: 32px;
	min-height: 100vh;
}

.profile-main {
	min-width: 0;
	background: #fff;
	border-left: 1px solid #e8e8ec;
	border-right: 1px solid #e8e8ec;
}

.profile-hero {
	position: relative;
	aspect-ratio: 5 / 2;
	height: auto;
	background: #edf0f3;
	overflow: hidden;
}

.profile-cover-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.profile-back,
.profile-more {
	position: absolute;
	top: 14px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: rgba(0, 0, 0, .42);
	color: #fff;
}

.profile-back {
	left: 14px;
}

.profile-more {
	right: 14px;
	background: transparent;
	color: transparent;
	font-size: 0;
	font-weight: 900;
	line-height: 1;
	transition: transform .16s ease;
}

.profile-more::before {
	position: absolute;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 50%;
	background: rgba(24, 23, 34, .92);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
	content: "";
}

.profile-more::after {
	position: relative;
	color: #fff;
	content: "•••";
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 1px;
	line-height: 1;
}

.profile-more:hover { transform: scale(1.04); }
.profile-more:active { transform: scale(.96); }
.profile-more:focus-visible { outline: 3px solid rgba(255, 255, 255, .82); outline-offset: 2px; }

.profile-more-wrap {
	position: absolute;
	right: 14px;
	top: 14px;
	z-index: 4;
}

.profile-more-wrap .profile-more {
	position: static;
}

.profile-more-menu {
	position: absolute;
	right: 0;
	top: 52px;
	z-index: 10;
	width: 214px;
	overflow: hidden;
	border: 1px solid rgba(17, 24, 39, .08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(15, 23, 42, .16);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity .15s ease, transform .15s ease;
}

.profile-more-menu.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.profile-more-menu button {
	width: 100%;
	min-height: 48px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 15px;
	border: 0;
	border-bottom: 1px solid #f0f1f4;
	background: #fff;
	color: #16181c;
	font-size: 14px;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
}

.profile-more-menu button:last-child {
	border-bottom: 0;
}

.profile-more-menu button:hover {
	background: #f7f8fa;
}

.profile-more-menu svg {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.profile-more-menu .is-danger {
	color: #ef4058;
}

.profile-back img {
	width: 22px;
	height: 22px;
	filter: invert(1);
}

.profile-info {
	position: relative;
	padding: 0 20px 18px;
	border-bottom: 1px solid #ececf0;
}

.profile-avatar-row {
	min-height: 52px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-top: -39px;
}

.profile-avatar {
	width: 78px;
	height: 78px;
	border: 3px solid #fff;
	border-radius: 50%;
	object-fit: cover;
	background: #f3f4f6;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.profile-actions {
	display: flex;
	gap: 8px;
	padding-top: 19px;
}

.profile-message,
.profile-follow {
	min-height: 36px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.profile-message {
	border: 1px solid #e8e8ec;
	background: #fff;
	color: #16181c;
}

.profile-message img {
	width: 16px;
	height: 16px;
}

.profile-follow {
	border: 1px solid #ed3f6a;
	background: #fff;
	color: #ed3f6a;
}

.profile-follow.is-following {
	background: #ed3f6a;
	border-color: #ed3f6a;
	color: #fff;
}

.profile-info h1 {
	margin: 8px 0 4px;
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 900;
}

.profile-info h1 img {
	width: 17px;
	height: 17px;
}

.profile-meta {
	color: #8b8f98;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.profile-bio {
	max-width: 560px;
	margin: 12px 0 0;
	color: #20242b;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
}

.profile-more-info,
.profile-read-more {
	display: inline-flex;
	margin-top: 8px;
	color: #05aeea;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.profile-subscribe-inline {
	padding: 18px 20px;
	border-bottom: 1px solid #ececf0;
	background: #fff;
}

.profile-subscribe-inline h2,
.profile-side-card h2 {
	margin: 0 0 12px;
	color: #667085;
	font-size: 14px;
	font-weight: 800;
}

.profile-subscribe-inline button,
.profile-side-card button,
.profile-unlock-btn {
	width: 100%;
	min-height: 44px;
	border: 0;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 18px;
	background: #05aeea;
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.profile-tabs-nav {
	position: sticky;
	top: 0;
	z-index: 5;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-bottom: 1px solid #ececf0;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(10px);
}

.profile-tab-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	border: 0;
	background: transparent;
	color: #9ca3af;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
	text-decoration: none;
}

.profile-tab-btn span {
	margin-left: 3px;
	color: #05aeea;
	font-weight: 900;
}

.profile-tab-btn.is-active {
	color: #121212;
}

.profile-tab-btn.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: #121212;
}

.profile-tab-panel {
	display: none;
}

.profile-tab-panel.is-active {
	display: block;
}

.profile-panel-toolbar {
	min-height: 58px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 18px;
	color: #667085;
	font-size: 14px;
	font-weight: 900;
}

.profile-panel-toolbar div {
	display: flex;
	gap: 8px;
}

.profile-panel-toolbar button {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.profile-panel-toolbar img {
	width: 20px;
	height: 20px;
	opacity: .62;
}

.profile-panel-toolbar button span {
	width: 18px;
	height: 14px;
	border-top: 2px solid #9ca3af;
	border-bottom: 2px solid #9ca3af;
	box-shadow: inset 0 5px 0 #fff, inset 0 7px 0 #9ca3af;
}

.profile-post-card {
	padding: 18px 16px 0;
	border-top: 1px solid #f0f1f3;
}

.profile-post-card header {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
}

.profile-post-card header img {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
}

.profile-post-card header strong,
.profile-post-card header span,
.profile-post-card time {
	display: block;
	font-size: 13px;
	line-height: 1.35;
}

.profile-post-pin-label{display:inline-flex!important;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#fff0f6;color:#be185d!important;font-size:12px!important;font-weight:850!important;white-space:nowrap}.profile-post-owner-wrap{position:relative;z-index:3}.profile-post-owner-trigger{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;color:#50535c;cursor:pointer}.profile-post-owner-trigger:hover,.profile-post-owner-trigger:focus-visible{background:#fff0f6;color:#db2777;outline:0}.profile-post-owner-trigger svg{width:23px;height:23px;fill:currentColor}.profile-post-owner-menu{position:absolute;top:calc(100% + 5px);right:0;display:none;min-width:184px;padding:6px;border:1px solid #ececf1;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(26,26,34,.16)}.profile-post-owner-menu.is-open{display:grid}.profile-post-owner-menu button{min-height:42px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#272936;font:700 14px/1 inherit;text-align:left;cursor:pointer}.profile-post-owner-menu button:hover,.profile-post-owner-menu button:focus-visible{background:#fff0f6;color:#be185d;outline:0}.profile-post-owner-menu .is-danger{margin-top:4px;border-top:1px solid #f1f1f4;border-radius:0;color:#dc2626}.profile-post-owner-menu .is-danger:hover,.profile-post-owner-menu .is-danger:focus-visible{background:#fff1f2;color:#b91c1c}.profile-post-edit-modal[hidden]{display:none}.profile-post-edit-modal{position:fixed;z-index:410;inset:0;display:grid;place-items:center;padding:18px}.profile-post-edit-backdrop{position:absolute;inset:0;border:0;background:rgba(10,10,16,.55)}.profile-post-edit-dialog{position:relative;width:min(520px,calc(100vw - 36px));padding:22px;border-radius:20px;background:#fff;color:#20212a;box-shadow:0 24px 70px rgba(0,0,0,.3)}.profile-post-edit-dialog h2{margin:0 0 18px;font-size:20px}.profile-post-edit-dialog label{display:grid;gap:7px;margin:0 0 14px;font-size:14px;font-weight:800}.profile-post-edit-dialog input,.profile-post-edit-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #d9dbe3;border-radius:10px;padding:11px 12px;color:#20212a;font:15px/1.5 inherit;outline:0}.profile-post-edit-dialog textarea{min-height:132px;resize:vertical}.profile-post-edit-dialog input:focus,.profile-post-edit-dialog textarea:focus{border-color:#ec4899;box-shadow:0 0 0 3px rgba(236,72,153,.16)}.profile-post-edit-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.profile-post-edit-actions button{min-height:44px;padding:0 17px;border-radius:10px;font-weight:800;cursor:pointer}.profile-post-edit-cancel{border:1px solid #d9dbe3;background:#fff;color:#30313b}.profile-post-edit-save{border:0;background:#ec4899;color:#fff}.profile-post-edit-save:disabled{opacity:.6;cursor:wait}@media(max-width:640px){.profile-post-owner-menu{right:-2px;min-width:172px}.profile-post-pin-label{display:none!important}}

.profile-post-card header strong {
	font-weight: 900;
}

.profile-post-card header span,
.profile-post-card time {
	color: #8b8f98;
	font-weight: 700;
}

.profile-post-card h2 {
	margin: 14px 0 4px;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.45;
}

.profile-post-card p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.58;
	color: #24272e;
}

.profile-post-image {
	display: block;
	margin-top: 12px;
	overflow: hidden;
	border-radius: 8px;
	background: #edf0f3;
	color: inherit;
	text-decoration: none;
}

.profile-subscribe-inline button:disabled,
.profile-side-card button:disabled {
	cursor: not-allowed;
	opacity: .58;
}

.profile-subscribe-plan-list {
	display: grid;
	gap: 9px;
}

.profile-subscribe-plan {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 11px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fafbfd;
}

.profile-subscribe-plan > div {
	min-width: 0;
}

.profile-subscribe-plan > div > strong,
.profile-subscribe-plan > div > small {
	display: block;
}

.profile-subscribe-plan > div > strong {
	color: #111827;
	font-size: 14px;
	font-weight: 900;
}

.profile-subscribe-plan > div > small {
	margin-top: 3px;
	color: #667085;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

.profile-subscribe-plan button {
	width: auto;
	min-height: 38px;
	padding: 0 11px;
	gap: 7px;
	white-space: nowrap;
}

.profile-subscribe-plan button em {
	font-size: 12px;
	font-style: normal;
	font-weight: 900;
}

.profile-post-image video {
	width: 100%;
	aspect-ratio: 16 / 9;
	display: block;
	object-fit: cover;
	object-position: top center;
}

/* 照片必須依原始比例完整顯示；不可強制裁為橫式 16:9。 */
.profile-post-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
}

/* 一般貼文影片滿版呈現，使用封面／影片的原始比例決定高度。 */
.profile-post-image.profile-post-video {
	width: 100%;
	aspect-ratio: auto;
}

.profile-post-image.profile-post-video img {
	height: auto;
	aspect-ratio: auto;
	object-position: center;
}

.profile-post-image.profile-post-video[type="button"] {
	border: 0;
	padding: 0;
	text-align: left;
	cursor: pointer;
}

.profile-locked-media {
	position: relative;
	margin-top: 12px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f2f4f7;
}

.profile-locked-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(.1) opacity(.16);
}

.profile-lock {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 42px;
	height: 34px;
	border: 5px solid #d8dce2;
	border-radius: 8px;
	transform: translate(-50%, -32%);
}

.profile-lock::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -28px;
	width: 28px;
	height: 28px;
	border: 5px solid #d8dce2;
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	transform: translateX(-50%);
}

.profile-locked-media small,
.profile-media-item small {
	position: absolute;
	z-index: 2;
	left: 10px;
	bottom: 8px;
	color: #8b8f98;
	font-size: 12px;
	font-weight: 800;
}

.profile-unlock-btn {
	margin: 12px auto;
	max-width: calc(100% - 24px);
	justify-content: center;
}

.profile-post-card footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 46px;
	border-top: 1px solid #f2f3f5;
}

.profile-post-card footer button {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.profile-post-card footer img {
	width: 20px;
	height: 20px;
	opacity: .46;
}

.profile-media-filters {
	display: flex;
	gap: 8px;
	padding: 14px 18px 16px;
	background: #fff;
}

.profile-media-filters button {
	min-height: 28px;
	border: 0;
	border-radius: 999px;
	padding: 0 12px;
	background: #f5f6f8;
	color: #667085;
	font-size: 12px;
	font-weight: 900;
	cursor: pointer;
}

.profile-media-filters button span {
	color: #05aeea;
}

.profile-media-filters .is-active {
	background: #dff7ff;
	color: #078bbd;
}

#profile-free-media > .profile-panel-toolbar,
#profile-paid-media > .profile-panel-toolbar {
	display: none;
}

.profile-media-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: #fff;
}

.profile-media-item {
	position: relative;
	aspect-ratio: 9 / 16;
	border: 0;
	padding: 0;
	background: linear-gradient(145deg, #f3f5f8, #eceff3);
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	text-align: left;
	cursor: pointer;
}

.profile-media-item.is-hidden {
	display: none;
}

.profile-media-item::after {
	content: "";
	position: absolute;
	inset: 12% -24% -22% 16%;
	border-radius: 50%;
	background: rgba(255, 255, 255, .42);
	transform: rotate(-18deg);
}

.profile-media-item.has-video::after {
	display: none;
}

.profile-media-item video,
.profile-media-item img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.profile-media-item.is-paid video,
.profile-media-item.is-paid img {
	filter: grayscale(.08) opacity(.28);
}

/* 創作者本人不應被自己的付費媒體模糊或鎖定。 */
.profile-media-item.is-paid.is-owner video,
.profile-media-item.is-paid.is-owner img,
.profile-media-item.is-paid.is-unlocked video,
.profile-media-item.is-paid.is-unlocked img {
	filter: none;
}

.profile-media-item.is-paid > small:not(.profile-media-info) {
	display: none;
}

.profile-media-info {
	position: absolute;
	left: 10px;
	bottom: 8px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #9aa1ad;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.profile-media-info svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.profile-media-kind-badge {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 4px 7px;
	border-radius: 999px;
	background: rgba(10, 14, 22, .72);
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}

.profile-media-kind-badge svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.profile-paid-level {
	color: #38cfff;
	font-weight: 900;
}

.profile-reels-grid {
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
}

.profile-media-load-sentinel {
	height: 1px;
}

.profile-reel-item {
	aspect-ratio: 9 / 16;
	background: #111;
}

/* Real free-media photos must not be covered by the generic placeholder arc. */
.profile-reel-item::after {
	display: none;
}

.profile-reel-item video,
.profile-reel-item img {
	transition: transform .22s ease, filter .22s ease;
}

.profile-reel-item:hover video,
.profile-reel-item:hover img {
	transform: scale(1.03);
	filter: brightness(.58);
}

.profile-reel-views {
	position: absolute;
	left: 9px;
	bottom: 8px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .8);
}

.profile-reel-views svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.profile-reel-hover {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	background: rgba(0, 0, 0, .26);
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	opacity: 0;
	transition: opacity .18s ease;
}

.profile-reel-item:hover .profile-reel-hover,
.profile-reel-item:focus-visible .profile-reel-hover {
	opacity: 1;
}

.profile-reel-hover span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .75);
}

.profile-reel-hover svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.profile-modal-open {
	overflow: hidden;
}

.profile-media-modal {
	position: fixed;
	inset: 0;
	z-index: 250;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 26px 60px;
	background: rgba(0, 0, 0, .66);
}

.profile-media-modal.is-open {
	display: flex;
}

.profile-media-modal-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: transparent;
	cursor: default;
}

.profile-media-modal-close {
	position: fixed;
	top: 18px;
	right: 22px;
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 42px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.profile-media-modal-nav {
	position: fixed;
	top: 50%;
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #111;
	font-size: 40px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
}

.profile-media-modal-nav.is-prev {
	left: 18px;
}

.profile-media-modal-nav.is-next {
	right: 18px;
}

.profile-media-dialog {
	position: relative;
	z-index: 2;
	width: min(100%, 980px);
	height: min(86vh, 760px);
	display: grid;
	grid-template-columns: minmax(320px, 540px) minmax(320px, 1fr);
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .36);
}

.profile-modal-player {
	position: relative;
	min-width: 0;
	background: #050505;
	display: grid;
	place-items: center;
	overflow: hidden;
}

.profile-modal-player video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

.profile-modal-play,
.profile-modal-mute {
	position: absolute;
	z-index: 8;
	border: 0;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: rgba(0, 0, 0, .48);
	cursor: pointer;
}

.profile-modal-play {
	left: 50%;
	top: 50%;
	width: 72px;
	height: 72px;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity .16s;
}

.profile-modal-player.is-paused .profile-modal-play {
	opacity: 1;
}

.profile-modal-play svg {
	width: 34px;
	height: 34px;
	fill: currentColor;
}

.profile-modal-mute {
	right: 14px;
	bottom: 54px;
	width: 36px;
	height: 36px;
}

.profile-modal-mute svg,
.profile-modal-player .ctrl-icon-btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.profile-modal-player.is-muted .profile-modal-volume-on,
.profile-modal-player:not(.is-muted) .profile-modal-volume-off {
	display: none;
}

.profile-modal-comments {
	min-width: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	color: #111;
}

.profile-modal-comments header {
	height: 72px;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 44px;
	align-items: center;
	gap: 12px;
	padding: 0 18px;
	border-bottom: 1px solid #efeff2;
}

.profile-modal-comments header img,
.profile-modal-comment img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
}

.profile-modal-comments header strong,
.profile-modal-comments header span {
	display: block;
	line-height: 1.35;
}

.profile-modal-comments header strong {
	font-size: 14px;
	font-weight: 900;
}

.profile-modal-comments header span {
	color: #6b7280;
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.profile-modal-more {
	border: 0;
	background: transparent;
	font-size: 18px;
	font-weight: 900;
	cursor: pointer;
}

.profile-modal-comment-list {
	flex: 1;
	overflow: auto;
	padding: 18px;
}

.profile-modal-comment {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) 28px;
	gap: 12px;
	align-items: start;
	margin-bottom: 20px;
}

.profile-modal-comment p {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

.profile-modal-comment p strong {
	margin-right: 6px;
	font-weight: 900;
}

.profile-modal-comment button {
	border: 0;
	background: transparent;
	color: #111;
	font-size: 20px;
	cursor: pointer;
}

.profile-modal-comments footer {
	border-top: 1px solid #efeff2;
	padding: 14px 18px 0;
}

.profile-modal-actions {
	display: flex;
	gap: 14px;
	margin-bottom: 8px;
}

.profile-modal-actions button {
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.profile-modal-actions svg {
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.profile-modal-actions .is-liked svg {
	fill: #ef4058;
	stroke: #ef4058;
}

.profile-modal-comments footer strong,
.profile-modal-comments footer span {
	display: block;
	font-size: 13px;
	line-height: 1.45;
}

.profile-modal-comments footer span {
	color: #6b7280;
	margin-top: 2px;
}

.profile-modal-comment-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	min-height: 54px;
	border-top: 1px solid #efeff2;
}

.profile-modal-comment-form input {
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	color: #111;
	font-size: 14px;
}

.profile-modal-comment-form button {
	border: 0;
	background: transparent;
	color: #4f63ff;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.profile-empty {
	margin: 0;
	padding: 28px 18px 36px;
	color: #8b8f98;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.profile-shop-hero {
	position: relative;
	margin: 18px 16px 16px;
	aspect-ratio: 5 / 1.25;
	border-radius: 8px;
	overflow: hidden;
	background: #edf0f3;
}

.profile-shop-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(.78);
}

.profile-shop-hero strong {
	position: absolute;
	left: 28px;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 26px;
	font-weight: 900;
	line-height: 1.22;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .42);
}

.profile-shop-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	padding: 0 16px 40px;
}

.profile-product-card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.profile-product-card img {
	width: 100%;
	aspect-ratio: 3 / 4;
	border-radius: 8px;
	object-fit: cover;
	background: #edf0f3;
	display: block;
}

.profile-product-card span {
	display: block;
	margin-top: 10px;
	color: #4b5563;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.profile-product-card strong {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 900;
}

.profile-product-price small {
	display: block;
	margin-top: 3px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 700;
}

.profile-side {
	position: sticky;
	top: 16px;
	display: grid;
	gap: 20px;
	padding-top: 16px;
}

.profile-side-card {
	padding: 18px;
	border: 1px solid #e8e8ec;
	border-radius: 8px;
	background: #fff;
}

.profile-side-links {
	display: flex;
	justify-content: center;
	gap: 14px;
	color: #9ca3af;
	font-size: 12px;
	font-weight: 700;
}

.profile-side-links a {
	color: inherit;
	text-decoration: none;
}

html.dark body.profile-page,
html.dark body.profile-page .profile-page-bg {
	background: #09090b !important;
	color: #f7f7f8;
}

html.dark body.profile-page .profile-main {
	background: #111116;
	border-color: #25252c;
	color: #f7f7f8;
}

html.dark body.profile-page .profile-hero,
html.dark body.profile-page .profile-post-image,
html.dark body.profile-page .profile-shop-hero,
html.dark body.profile-page .profile-product-card img {
	background: #18181d;
}

html.dark body.profile-page .profile-info,
html.dark body.profile-page .profile-subscribe-inline,
html.dark body.profile-page .profile-tabs-nav,
html.dark body.profile-page .profile-post-card,
html.dark body.profile-page .profile-post-card footer,
html.dark body.profile-page .profile-side-card {
	border-color: #25252c;
}

html.dark body.profile-page .profile-subscribe-inline,
html.dark body.profile-page .profile-tabs-nav {
	background: rgba(17, 17, 22, .96);
	color: #f7f7f8;
}

html.dark body.profile-page .profile-info h1,
html.dark body.profile-page .profile-tab-btn.is-active,
html.dark body.profile-page .profile-post-card header strong,
html.dark body.profile-page .profile-post-card h2,
html.dark body.profile-page .profile-product-card strong {
	color: #f7f7f8;
}

html.dark body.profile-page .profile-bio,
html.dark body.profile-page .profile-post-card p,
html.dark body.profile-page .profile-product-card span {
	color: #d7d7de;
}

html.dark body.profile-page .profile-meta,
html.dark body.profile-page .profile-panel-toolbar,
html.dark body.profile-page .profile-post-card header span,
html.dark body.profile-page .profile-post-card time,
html.dark body.profile-page .profile-empty,
html.dark body.profile-page .profile-side-card h2,
html.dark body.profile-page .profile-side-links {
	color: #a1a1aa;
}

html.dark body.profile-page .profile-tab-btn {
	color: #8f909b;
}

html.dark body.profile-page .profile-tab-btn span {
	color: #38cfff;
}

html.dark body.profile-page .profile-tab-btn.is-active::after {
	background: #f7f7f8;
}

html.dark body.profile-page .profile-message,
html.dark body.profile-page .profile-follow,
html.dark body.profile-page .profile-media-filters button,
html.dark body.profile-page .profile-side-card {
	background: #18181d;
	border-color: #2a2a33;
	color: #f7f7f8;
}

html.dark body.profile-page .profile-media-filters {
	background: #111116;
}

html.dark body.profile-page .profile-follow {
	background: #fff;
	border-color: #ed3f6a;
	color: #ed3f6a;
}

html.dark body.profile-page .profile-follow.is-following {
	background: #ed3f6a;
	border-color: #ed3f6a;
	color: #fff;
}

html.dark body.profile-page .profile-more-menu {
	background: #18181d;
	border-color: #2a2a33;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .42);
}

html.dark body.profile-page .profile-more-menu button {
	background: #18181d;
	border-color: #2a2a33;
	color: #f7f7f8;
}

html.dark body.profile-page .profile-more-menu button:hover {
	background: #24242b;
}

html.dark body.profile-page .profile-more-menu .is-danger {
	color: #fb7185;
}

html.dark body.profile-page .profile-panel-toolbar img,
html.dark body.profile-page .profile-message img,
html.dark body.profile-page .profile-post-card footer img {
	filter: invert(1) brightness(1.8);
}

html.dark body.profile-page .profile-panel-toolbar button span {
	border-color: #a1a1aa;
	box-shadow: inset 0 5px 0 #111116, inset 0 7px 0 #a1a1aa;
}

html.dark body.profile-page .profile-post-card {
	background: #111116;
}

/* Inline post conversations: five familiar actions with an expandable reply thread. */
.profile-post-card .profile-post-actions {
	justify-content: flex-start;
	gap: 2px;
	min-height: 52px;
	margin-top: 8px;
	border-top: 0;
	border-bottom: 1px solid #eef0f3;
}

.profile-post-actions button {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 0 7px;
	border-radius: 12px;
	color: #20242c;
	font-size: 12px;
	font-weight: 800;
	transition: color .18s ease, background .18s ease, transform .18s ease;
	touch-action: manipulation;
}

.profile-post-actions button:hover,
.profile-post-actions button:focus-visible { background: #fff0f6; color: #db2777; outline: 0; }
.profile-post-actions button:active { transform: scale(.94); }
.profile-post-actions button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.profile-post-actions .is-liked { color: #e11d67; }
.profile-post-actions .is-liked svg { fill: currentColor; }
.profile-post-actions .is-saved { color: #e11d67; }
.profile-post-actions .is-saved svg { fill: currentColor; }
.profile-post-actions .profile-post-bookmark { margin-left: auto; }
.profile-post-actions .profile-post-bookmark .js-profile-post-bookmark-count { min-width: 1ch; font-size: 13px; font-weight: 700; }

.profile-post-comments { padding: 14px 0 12px; }
.profile-post-comment-list { display: grid; gap: 14px; }
.profile-post-comment,
.profile-post-comment.is-reply { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 9px; }
.profile-post-comment.is-reply { margin: 10px 0 0 4px; grid-template-columns: 30px minmax(0, 1fr); }
.profile-post-comment-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: #f1f3f5; }
.profile-post-comment.is-reply .profile-post-comment-avatar { width: 30px; height: 30px; }
.profile-post-comment-body { min-width: 0; }
.profile-post-comment-author { color: #171923; font-size: 13px; font-weight: 850; text-decoration: none; }
.profile-post-comment-author:hover { color: #db2777; text-decoration: underline; }
.profile-post-comment-content { margin: 3px 0 5px !important; color: #272a33; font-size: 14px; font-weight: 500 !important; line-height: 1.5; overflow-wrap: anywhere; }
.profile-post-comment-meta { display: flex; align-items: center; gap: 12px; color: #858995; font-size: 12px; font-weight: 700; }
.profile-post-comment-meta button,
.profile-post-replies-toggle { min-height: 28px; padding: 0; border: 0; background: transparent; color: #6b7280; font: inherit; font-weight: 800; cursor: pointer; }
.profile-post-comment-meta button:hover,
.profile-post-replies-toggle:hover { color: #db2777; }
.profile-post-replies-toggle { margin-top: 8px; font-size: 12px; }
.profile-post-replies { margin-top: 2px; }
.profile-post-comment-empty,
.profile-post-comment-loading { margin: 4px 0; color: #7b8190 !important; font-size: 13px !important; font-weight: 700 !important; }
.profile-post-comment-form { display: flex; gap: 8px; align-items: center; margin-top: 15px; padding: 7px; border: 1px solid #e3e6ec; border-radius: 16px; background: #fafbfc; }
.profile-post-comment-form input { min-width: 0; flex: 1; min-height: 40px; border: 0; outline: 0; background: transparent; color: #1f2530; font: inherit; font-size: 14px; }
.profile-post-comment-form input::placeholder { color: #9aa0ad; }
.profile-post-comment-form button { min-width: 58px; min-height: 40px; padding: 0 12px; border: 0; border-radius: 11px; background: #ec4899; color: #fff; font: inherit; font-size: 13px; font-weight: 850; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.profile-post-comment-form button:hover,
.profile-post-comment-form button:focus-visible { background: #db2777; outline: 3px solid rgba(236,72,153,.24); outline-offset: 2px; }
.profile-post-comment-form button:disabled { cursor: wait; opacity: .62; }
.profile-post-comment-status { min-height: 18px; margin: 5px 4px 0 !important; color: #c81e55 !important; font-size: 12px !important; font-weight: 750 !important; }

html.dark body.profile-page .profile-post-card .profile-post-actions { border-bottom-color: #292933; }
html.dark body.profile-page .profile-post-actions button { color: #f4f4f7; }
html.dark body.profile-page .profile-post-actions button:hover,
html.dark body.profile-page .profile-post-actions button:focus-visible { background: #3a1730; color: #f9a8d4; }
html.dark body.profile-page .profile-post-comment-author { color: #fafafa; }
html.dark body.profile-page .profile-post-comment-content { color: #d9d9e1; }
html.dark body.profile-page .profile-post-comment-form { border-color: #30303a; background: #1b1b22; }
html.dark body.profile-page .profile-post-comment-form input { color: #f7f7f8; }

@media (max-width: 768px) {
	.profile-post-card .profile-post-actions { gap: 0; min-height: 50px; }
	.profile-post-actions button { min-width: 44px; padding: 0 5px; }
	.profile-post-comment-form { position: sticky; bottom: 0; padding-bottom: max(7px, env(safe-area-inset-bottom)); background: #fff; }
	html.dark body.profile-page .profile-post-comment-form { background: #111116; }
}

@media (prefers-reduced-motion: reduce) {
	.profile-post-actions button,
	.profile-post-comment-form button { transition: none; }
}

html.dark body.profile-page .profile-locked-media {
	background: #18181d;
}

html.dark body.profile-page .profile-lock,
html.dark body.profile-page .profile-lock::before {
	border-color: #44444e;
}

html.dark body.profile-page .profile-media-grid {
	background: #25252c;
}

html.dark body.profile-page .profile-media-item {
	background: linear-gradient(145deg, #1b1b22, #121217);
}

html.dark body.profile-page .profile-media-item::after {
	background: rgba(255, 255, 255, .08);
}

html.dark body.profile-page .profile-media-filters .is-active {
	background: rgba(56, 207, 255, .15);
	color: #67e8f9;
}

html.dark body.profile-page .site-sidebar {
	background: #050506 !important;
	border-right-color: #25252c !important;
	color: #f5f5f6 !important;
}

html.dark body.profile-page .site-sidebar a {
	color: #f5f5f6 !important;
	background: transparent !important;
}

html.dark body.profile-page .site-sidebar a:hover {
	background: #18181d !important;
	color: #fff !important;
}

html.dark body.profile-page .site-sidebar .logo-dark {
	display: block !important;
}

html.dark body.profile-page .site-sidebar .logo-light {
	display: none !important;
}

html.dark body.profile-page .site-mobile-nav {
	background: #050506 !important;
	border-top: 1px solid #25252c !important;
	color: #f5f5f6 !important;
}

html.dark body.profile-page .site-mobile-nav a {
	color: #f5f5f6 !important;
}

html.dark body.profile-page .profile-media-dialog,
html.dark body.profile-page .profile-modal-comments {
	background: #111116;
	color: #f7f7f8;
}

html.dark body.profile-page .profile-modal-comments header,
html.dark body.profile-page .profile-modal-comments footer,
html.dark body.profile-page .profile-modal-comment-form {
	border-color: #25252c;
}

html.dark body.profile-page .profile-modal-comments header span,
html.dark body.profile-page .profile-modal-comments footer span {
	color: #a1a1aa;
}

html.dark body.profile-page .profile-modal-comment button,
html.dark body.profile-page .profile-modal-more,
html.dark body.profile-page .profile-modal-comment-form input {
	color: #f7f7f8;
}

html.dark body.profile-page .profile-modal-comment-form button {
	color: #67e8f9;
}

@media (max-width: 1180px) {
	.profile-shell {
		grid-template-columns: minmax(0, 640px);
		justify-content: center;
	}

	.profile-side {
		display: none;
	}
}

@media (max-width: 768px) {
	.profile-shell {
		width: 100%;
		display: block;
	}

	.profile-tab-btn {
		font-size: 13px;
	}

	.profile-main {
		border-left: 0;
		border-right: 0;
	}

	.profile-hero {
		aspect-ratio: 5 / 2;
		height: auto;
	}

	.profile-info {
		padding-left: 14px;
		padding-right: 14px;
	}

	.profile-avatar {
		width: 78px;
		height: 78px;
	}

	.profile-actions {
		padding-top: 19px;
	}

	.profile-more-wrap {
		right: 10px;
		top: 10px;
	}

	.profile-more-menu {
		width: min(214px, calc(100vw - 28px));
	}

	.profile-shop-grid {
		grid-template-columns: 1fr;
	}

	.profile-media-grid,
	.profile-reels-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.profile-media-modal {
		padding: 16px;
	}

	.profile-media-dialog {
		width: min(100%, 460px);
		height: min(92vh, 820px);
		grid-template-columns: 1fr;
		grid-template-rows: minmax(0, 1fr) 300px;
	}

	.profile-media-modal-nav {
		display: none;
	}

	.profile-media-modal-close {
		top: 10px;
		right: 10px;
	}

	.profile-shop-hero strong {
		left: 18px;
		font-size: 20px;
	}
}

/* Fullscreen video player / 全螢幕影片播放器 */
.profile-media-modal{padding:0;background:#000;}
.profile-media-modal-backdrop{z-index:0;background:rgba(0,0,0,.2);}
.profile-modal-ambient{position:absolute;z-index:1;inset:-44px;overflow:hidden;background:#000;pointer-events:none;}
.profile-modal-ambient::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.1) 38%,rgba(0,0,0,.1) 62%,rgba(0,0,0,.58));content:"";}
.profile-modal-ambient img{width:100%;height:100%;object-fit:cover;opacity:.56;filter:blur(34px) saturate(.9);transform:scale(1.08);}
.profile-media-dialog{position:absolute;z-index:2;inset:0;display:block;width:100vw;height:100dvh;max-height:none;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;}
.profile-modal-player{position:absolute;inset:0;display:grid;width:100%;height:100%;place-items:center;background:transparent;}
.profile-modal-player video{position:relative;z-index:2;width:100%;height:100%;max-height:100dvh;object-fit:contain;background:transparent;}
.profile-modal-comments{display:none;}
.profile-media-modal-close{top:24px;right:auto;left:28px;z-index:9;display:grid;width:56px;height:56px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.48);color:#fff;font-size:38px;line-height:1;backdrop-filter:blur(10px);}
.profile-media-modal-close:hover{border-color:rgba(255,255,255,.65);background:rgba(236,72,153,.84);}
.profile-media-modal-nav{right:24px;left:auto;z-index:9;display:grid;width:60px;height:60px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(0,0,0,.54);box-shadow:0 10px 32px rgba(0,0,0,.38);color:#fff;font-size:38px;backdrop-filter:blur(10px);}
.profile-media-modal-nav:hover{border-color:rgba(236,72,153,.72);background:rgba(236,72,153,.88);}
.profile-media-modal-nav.is-prev{top:calc(50% - 70px);left:auto;}
.profile-media-modal-nav.is-next{top:calc(50% + 10px);right:24px;}
@media (max-width:768px){.profile-media-modal{padding:0;}.profile-media-dialog{width:100vw;height:100dvh;grid-template-columns:none;grid-template-rows:none;}.profile-media-modal-close{top:16px;right:auto;left:16px;width:48px;height:48px;font-size:32px;}.profile-media-modal-nav{right:12px!important;width:48px;height:48px;border-radius:14px;font-size:30px;}.profile-media-modal-nav.is-prev{display:grid;top:calc(50% - 58px);left:auto;}.profile-media-modal-nav.is-next{display:grid;top:calc(50% + 10px);}}
