/* 第一眼 v1.9.16 代码收敛版：styles-features.css
 * 源文件按既有加载顺序合并；仅删除完全相同的重复规则，不改变冲突规则的级联顺序。
 */

/* ===== source: styles-v181-unified.css ===== */
/* 第一眼 v1.8.1：互动规则归并与手势裁剪唯一实现 */
[data-profile],
.podium-user,
.rank-rows button,
.fs19r-featured-profile,
.fs19r-list-row,
.fs19r-runner,
.active-user-row button,
.post-card header > button {
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
}
.fs19r-featured-photo::before,
.fs19r-featured-photo::after,
.fs19r-blue-orbit,
.fs19r-featured-orbit,
.fs19r-featured-bg,
.ranking-banner-visual::before,
.ranking-banner-visual::after {
  pointer-events: none !important;
}

/* 旧版按钮式裁剪控件全部退出，页面只保留照片本体上的手势操作。 */
.crop-fine-panel,
.crop-clean-panel,
.crop-nudge-pad,
.crop-live-controls,
.crop-slider-card,
.crop-adjust-panel,
.crop-gesture-hint,
.center-note,
.crop-workspace > aside,
.rotate-control,
button[data-action="crop-left"],
button[data-action="crop-right"],
button[data-action="crop-up"],
button[data-action="crop-down"],
button[data-action="crop-center"],
button[data-action="zoom-in"],
button[data-action="zoom-out"],
button[data-action="rotate-crop"] {
  display: none !important;
}
.upload-page .crop-workspace,
.upload-page .crop-workspace.crop-gesture-workspace {
  position: relative !important;
  display: block !important;
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  margin: 16px auto 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #111 !important;
  touch-action: none !important;
}
.upload-page .crop-stage,
.upload-page .crop-stage.crop-gesture-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background: #111 !important;
  touch-action: none !important;
  user-select: none !important;
  cursor: grab;
}
.upload-page .crop-stage.is-dragging { cursor: grabbing; }
.upload-page .crop-stage > img,
.upload-page .crop-stage.crop-gesture-stage > img {
  position: absolute !important;
  left: calc(50% + var(--crop-offset-x, 0px)) !important;
  top: calc(50% + var(--crop-offset-y, 0px)) !important;
  width: var(--crop-image-width, 100%) !important;
  height: var(--crop-image-height, 100%) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center center !important;
  transform: translate(-50%, -50%) rotate(var(--rotate, 0deg)) !important;
  transform-origin: center center !important;
  transition: none !important;
  will-change: transform, left, top;
  user-select: none !important;
  -webkit-user-drag: none !important;
  background: transparent !important;
}
.upload-page .crop-mask {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  transform: none !important;
  border: 2px dashed rgba(255,255,255,.94) !important;
  box-shadow: none !important;
  background:
    linear-gradient(90deg, transparent 33.333%, rgba(255,255,255,.32) 33.333% 33.65%, transparent 33.65% 66.333%, rgba(255,255,255,.32) 66.333% 66.65%, transparent 66.65%),
    linear-gradient(0deg, transparent 33.333%, rgba(255,255,255,.32) 33.333% 33.65%, transparent 33.65% 66.333%, rgba(255,255,255,.32) 66.333% 66.65%, transparent 66.65%) !important;
  pointer-events: none !important;
}
.upload-page .crop-mask > span {
  top: 10px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
.upload-page .crop-mask i {
  width: 14px !important;
  height: 14px !important;
  border-radius: 4px !important;
}
.upload-page .crop-mask i:nth-of-type(1){left:-1px!important;top:-1px!important;}
.upload-page .crop-mask i:nth-of-type(2){right:-1px!important;top:-1px!important;}
.upload-page .crop-mask i:nth-of-type(3){left:-1px!important;bottom:-1px!important;}
.upload-page .crop-mask i:nth-of-type(4){right:-1px!important;bottom:-1px!important;}
.upload-page .crop-actions {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  margin: 14px auto 0 !important;
}
.crop-preview,
.ratio-34,
.profile-gallery img,
.fs19r-featured-photo img,
.fs19r-runner img,
.fs19r-list-row img,
.podium-user img,
.rank-rows img,
.post-card img,
.fs19-profile-hero > img {
  object-fit: cover;
  background: #f1efed;
}
.photo-review-panel.is-approved header b { color: #139668; }
.photo-review-panel.is-rejected header b { color: #d94a4a; }
.photo-review-panel header b,
.photo-review-panel p { word-break: keep-all; }

/* 统一评分阶段组件。 */
.fs-rating-state-main { font-variant-numeric: tabular-nums; }
.fs-rating-state-sub { white-space: normal; }
.fs-rating-state.is-collecting .fs-rating-state-main { letter-spacing: -.03em; }

@media (max-width: 720px) {
  .upload-page .crop-workspace,
  .upload-page .crop-workspace.crop-gesture-workspace {
    width: calc(100vw - 72px) !important;
    max-width: 430px !important;
  }
  .upload-rules { display: none; }
}


/* v1.8.1: avatar refresh + single business-rule presentation */
img[data-photo-id] { content-visibility: auto; }
.profile-loading-card { min-height: 50vh; display:grid; place-items:center; text-align:center; }
.profile-loading-card .trust-state { max-width: 28rem; }


/* ===== source: styles-v182-photo-library.css ===== */
/* 第一眼 v1.8.2：照片与相册管理 */
.photo-library-page{max-width:980px;margin:0 auto;padding:18px 16px 110px}.photo-library-header{display:flex;align-items:flex-start;gap:14px;margin:4px 0 18px}.photo-library-header>div{flex:1}.photo-library-header span,.photo-library-section-title span,.photo-editor-header span{font-size:10px;letter-spacing:.16em;color:#1768dc;font-weight:800}.photo-library-header h1,.photo-editor-header h1{margin:4px 0 3px;font-size:30px;line-height:1.05}.photo-library-header p,.photo-editor-header p,.photo-library-section-title p{margin:0;color:#77716b;font-size:12px}.photo-library-back,.photo-editor-header>button{width:42px;height:42px;border:1px solid #ddd8d0;border-radius:50%;background:#fff;color:#171717;font-size:28px;line-height:1}.photo-library-page>.card{padding:20px;margin-bottom:16px;border-radius:22px}.photo-library-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.photo-library-section-title h2{margin:3px 0 0;font-size:20px}.photo-library-section-title .btn{min-height:38px;padding:0 15px}.photo-library-avatar-row{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:center}.photo-library-avatar{width:112px;height:112px;border-radius:50%;padding:4px;background:linear-gradient(145deg,#1768dc,#ff5c44)}.photo-library-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#eee}.photo-library-avatar-row b,.photo-library-rating-copy b{display:block;font-size:15px}.photo-library-avatar-row p,.photo-library-rating-copy p{margin:6px 0 10px;color:#77716b;font-size:12px;line-height:1.65}.text-button{border:0;background:none;padding:0;color:#1768dc;font-weight:700}.photo-library-status{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#fff1d8;color:#9c6510;font-size:11px;font-weight:800}.photo-library-status.is-ready{background:#e6f7f1;color:#087b58}.photo-library-rating-card{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:20px;align-items:center}.photo-library-rating-image{border:0;padding:0;background:none;border-radius:18px;overflow:hidden;aspect-ratio:3/4}.photo-library-rating-image img{width:100%;height:100%;object-fit:cover;display:block}.photo-library-rating-copy>div{display:flex;gap:10px;flex-wrap:wrap}.photo-library-empty{border:1px dashed #d9d3cb;border-radius:18px;padding:28px;text-align:center;background:#fbfaf7}.photo-library-empty b{font-size:16px}.photo-library-empty p{font-size:12px;color:#77716b}.photo-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.photo-library-tile,.photo-library-add{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:#eee}.photo-library-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-library-badges{position:absolute;left:7px;right:7px;bottom:7px;display:flex;gap:4px;flex-wrap:wrap}.photo-library-badges i{font-style:normal;font-size:8px;line-height:1;padding:5px 6px;border-radius:999px;color:#fff;background:rgba(14,14,15,.72);backdrop-filter:blur(8px)}.photo-library-add{display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed #cfc7bd;background:#faf8f3;color:#4e4944}.photo-library-add i{font-style:normal;font-size:30px;font-weight:300}.photo-library-add span{font-size:11px}.photo-library-note{margin:14px 0 0;color:#8a837b;font-size:11px}.photo-manage-modal{max-width:680px!important}.photo-manage-head p{margin:2px 0 0;color:#7b746d;font-size:11px}.photo-manage-preview{max-height:64vh;display:grid;place-items:center;border-radius:18px;overflow:hidden;background:#111}.photo-manage-preview img{max-width:100%;max-height:64vh;object-fit:contain}.photo-manage-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.photo-manage-tags span{padding:6px 9px;border-radius:999px;background:#f0eee9;font-size:10px;font-weight:700}.photo-manage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-manage-actions button{min-height:42px;border:1px solid #ded8d0;border-radius:12px;background:#fff;font-weight:700}.photo-manage-actions .is-danger{color:#ca3d31;border-color:#f1c8c3;background:#fff8f7}.photo-editor-page{max-width:720px;margin:0 auto;padding:18px 16px 110px}.photo-editor-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.photo-editor-header>div{flex:1}.photo-editor-shell{padding:18px;border-radius:22px}.photo-editor-picker{width:min(100%,430px);min-height:440px;margin:0 auto;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #cfc7bd;border-radius:22px;background:#faf8f3;color:#393532}.photo-editor-picker i{font-style:normal;font-size:42px;font-weight:200}.photo-editor-picker b{font-size:17px}.photo-editor-picker span{font-size:11px;color:#827a72}.upload-page .crop-workspace.purpose-avatar{aspect-ratio:1/1!important}.upload-page .crop-workspace.purpose-avatar .crop-mask{border-radius:50%!important}.upload-page .crop-workspace.purpose-avatar .crop-stage{border-radius:50%!important}.upload-page .crop-workspace.purpose-avatar .crop-mask i{display:none!important}
@media (max-width:720px){.photo-library-page,.photo-editor-page{padding:12px 12px 96px}.photo-library-page>.card{padding:15px;border-radius:18px}.photo-library-header h1,.photo-editor-header h1{font-size:25px}.photo-library-avatar-row{grid-template-columns:86px 1fr;gap:13px}.photo-library-avatar{width:86px;height:86px}.photo-library-rating-card{grid-template-columns:126px 1fr;gap:13px}.photo-library-rating-copy>div{display:grid;grid-template-columns:1fr}.photo-library-grid{gap:6px}.photo-library-section-title .btn{font-size:11px;padding:0 11px}.photo-manage-actions{grid-template-columns:1fr 1fr}.photo-editor-picker{min-height:360px}.upload-page .crop-workspace,.upload-page .crop-workspace.crop-gesture-workspace{width:100%!important}.photo-editor-shell .crop-actions{width:100%!important}}


/* ===== source: styles-v192-recharge.css ===== */
/* v1.9.2 wallet and recharge interface. Scoped to wallet-related pages only. */
.wallet-entry-card{display:grid;gap:16px}
.wallet-entry-head,.wallet-entry-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.wallet-entry-head span{color:var(--muted,#757575);font-size:13px}
.wallet-entry-head b{font-size:22px}
.wallet-entry-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wallet-entry-metrics span{display:grid;gap:4px;padding:12px;border:1px solid rgba(18,18,18,.08);border-radius:14px;background:rgba(255,255,255,.55);font-size:12px;color:var(--muted,#777)}
.wallet-entry-metrics strong{font-size:18px;color:var(--text,#171717)}
.wallet-entry-card>small{color:var(--muted,#777)}
.wallet-entry-actions .btn{width:100%}
.wallet-page{display:grid;gap:18px}
.wallet-balance-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:24px;padding:28px;border-radius:26px;background:#151515;color:#fff;overflow:hidden;position:relative}
.wallet-balance-card:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-90px;top:-120px;background:radial-gradient(circle,rgba(52,108,255,.35),rgba(52,108,255,0) 68%);pointer-events:none}
.wallet-balance-card>div{position:relative;z-index:1}
.wallet-balance-card span{font-size:13px;color:rgba(255,255,255,.68)}
.wallet-balance-card h2{font-size:46px;line-height:1;margin:14px 0 12px;letter-spacing:-1.5px}
.wallet-balance-card h2 small{font-size:14px;font-weight:500;color:rgba(255,255,255,.66);letter-spacing:0}
.wallet-balance-card p{margin:0;color:rgba(255,255,255,.65)}
.wallet-balance-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:center}
.wallet-balance-split span{display:grid;gap:5px;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.06)}
.wallet-balance-split b{font-size:20px;color:#fff}
.wallet-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px;align-items:start}
.wallet-layout main,.wallet-layout aside{display:grid;gap:18px}
.recharge-card{display:grid;gap:20px}
.recharge-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.recharge-card>header span{color:var(--muted,#777);font-size:13px}
.recharge-card>header h2{margin:5px 0 0}
.recharge-card>header>b{font-size:13px;padding:8px 11px;border-radius:999px;background:rgba(51,102,255,.08);color:#2453d4}
.recharge-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recharge-package{display:grid;gap:6px;text-align:left;padding:16px;border:1px solid rgba(20,20,20,.12);border-radius:18px;background:rgba(255,255,255,.72);transition:.16s ease}
.recharge-package:hover{transform:translateY(-1px);border-color:rgba(39,91,221,.35)}
.recharge-package.active{border-color:#2f62e9;box-shadow:0 0 0 2px rgba(47,98,233,.11);background:rgba(47,98,233,.045)}
.recharge-package span{font-size:24px;font-weight:750;color:var(--text,#171717)}
.recharge-package strong{font-size:14px}
.recharge-package small{font-size:12px;color:var(--muted,#777)}
.recharge-channel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:16px 0;border-top:1px solid rgba(20,20,20,.08);border-bottom:1px solid rgba(20,20,20,.08)}
.recharge-channel>span{font-size:13px;color:var(--muted,#777)}
.recharge-channel>div{display:flex;gap:10px}
.recharge-channel button{flex:1;min-height:42px;border:1px solid rgba(20,20,20,.11);border-radius:13px;background:transparent}
.recharge-channel button.active{border-color:#2f62e9;background:rgba(47,98,233,.06);color:#214fc9;font-weight:650}
.recharge-submit{display:flex;align-items:center;justify-content:space-between;gap:18px}
.recharge-submit>div{display:grid;gap:5px}
.recharge-submit span{font-size:12px;color:var(--muted,#777)}
.recharge-submit b{font-size:20px}
.recharge-submit .btn{min-width:170px}
.recharge-note{margin:0;padding:12px 14px;border-radius:14px;background:rgba(248,157,52,.09);color:#805113;font-size:12px;line-height:1.65}
.wallet-order-list,.wallet-ledger-list{display:grid}
.wallet-order-list article,.wallet-ledger-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(20,20,20,.08)}
.wallet-order-list article:last-child,.wallet-ledger-list article:last-child{border-bottom:0}
.wallet-order-list article>div,.wallet-ledger-list article>div{display:grid;gap:4px}
.wallet-order-list span,.wallet-ledger-list span,.wallet-order-list small,.wallet-ledger-list small{font-size:12px;color:var(--muted,#777)}
.wallet-order-list aside{display:grid;justify-items:end;gap:6px}
.wallet-order-list aside strong{font-size:17px}
.wallet-order-list aside em{font-style:normal;font-size:11px;padding:4px 8px;border-radius:999px;background:rgba(20,20,20,.06)}
.wallet-order-list aside em.success{background:rgba(22,155,92,.1);color:#08753e}
.wallet-order-list aside em.warning{background:rgba(247,158,38,.12);color:#8b5700}
.wallet-order-list aside em.danger{background:rgba(220,60,60,.1);color:#a21d1d}
.wallet-order-list aside button{border:0;background:transparent;color:#2453d4;font-size:12px;padding:0}
.wallet-ledger-list article{grid-template-columns:auto minmax(0,1fr) auto}
.wallet-ledger-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(47,98,233,.08);color:#2453d4!important;font-weight:700}
.wallet-ledger-list aside{display:grid;justify-items:end;gap:3px;font-weight:700}
.wallet-ledger-list aside.positive{color:#08753e}
.wallet-ledger-list aside.negative{color:#a14121}
.wallet-ledger-list aside small{font-weight:400}
.wallet-empty{display:grid;place-items:center;text-align:center;gap:7px;padding:32px 12px;color:var(--muted,#777)}
.wallet-empty b{color:var(--text,#171717)}
.wallet-rule-card{display:grid;gap:15px}
.wallet-rule-card h2{margin:0}
.wallet-rule-card p{display:grid;gap:4px;margin:0;padding-bottom:14px;border-bottom:1px solid rgba(20,20,20,.08)}
.wallet-rule-card p:last-child{border-bottom:0;padding-bottom:0}
.wallet-rule-card p span{font-size:12px;color:var(--muted,#777);line-height:1.6}
.recharge-confirm-modal{display:grid;justify-items:center;text-align:center;gap:12px;padding:14px 0 6px}
.recharge-confirm-modal>span,.recharge-confirm-modal>small{color:var(--muted,#777)}
.recharge-confirm-modal>strong{font-size:42px}
.recharge-confirm-modal>p{margin:0;font-weight:650}
.recharge-confirm-modal .btn{margin-top:8px}
@media(max-width:1023px){
  .wallet-balance-card,.wallet-layout{grid-template-columns:1fr}
  .wallet-balance-card{padding:22px;border-radius:22px}
  .wallet-balance-card h2{font-size:38px}
  .wallet-layout{gap:14px}
  .recharge-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wallet-entry-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:520px){
  .wallet-page{gap:12px}
  .wallet-balance-split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recharge-card>header,.recharge-submit{align-items:stretch;flex-direction:column}
  .recharge-submit .btn{width:100%}
  .recharge-channel{grid-template-columns:1fr}
  .wallet-entry-metrics{grid-template-columns:1fr 1fr}
  .wallet-entry-metrics span:last-child{grid-column:1/-1}
}


/* ===== source: styles-v194-profile-rating.css ===== */
/* v1.9.4：资料页主动评分。仅增加新流程，不改变现有页面视觉。 */

.profile-action-rate:disabled,
.fs19-profile-actions button:disabled{
  opacity:.52;
  cursor:not-allowed;
}

.profile-direct-rating-page .trust-state,
.profile-rating-error{
  width:min(560px,calc(100% - 32px));
  margin:72px auto;
  padding:42px 28px;
  text-align:center;
  border:1px solid rgba(18,26,40,.1);
  border-radius:24px;
  background:#fff;
}

.profile-rating-error h2{margin:0 0 10px;font-size:24px}
.profile-rating-error p{margin:0 0 24px;color:#73777f}
.profile-rating-error .btn{margin:0 5px}
.profile-rating-workspace .rating-subject p{font-weight:700}
.profile-rating-actions{grid-template-columns:1fr 1.35fr .8fr}

@media (max-width:1023px){
  .fs19r-header.is-direct{
    grid-template-columns:40px minmax(0,1fr) 42px;
  }
  .fs19r-header.is-direct .fs19r-message{
    grid-column:3;
  }
  .fs19r-direct-note{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    color:rgba(246,243,235,.55);
    font-size:11px;
    letter-spacing:.04em;
  }
  .profile-direct-rating-page .trust-state,
  .profile-rating-error{
    margin:80px auto 24px;
    color:#f6f3eb;
    border-color:rgba(255,255,255,.1);
    background:#15181b;
  }
  .profile-rating-error p{color:rgba(246,243,235,.58)}
}

@media (max-width:640px){
  .profile-rating-actions{grid-template-columns:1fr}
}

