@use './tokens' as *; .jio-creator-drawer { position: fixed; z-index: 500; inset: 0; display: flex; justify-content: flex-end; } .jio-creator-drawer__backdrop { position: absolute; inset: 0; border: 0; background: rgba(23, 34, 31, 0.32); cursor: default; } .jio-creator-drawer__panel { position: relative; display: flex; width: min(460px, 100%); height: 100%; flex-direction: column; background: #fff; box-shadow: -20px 0 60px rgba(20, 32, 28, 0.16); } .jio-creator-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid $line; h2 { margin: 0; font-size: 17px; font-weight: 600; } } .jio-creator-drawer__close { border: 0; background: transparent; color: $ink-soft; cursor: pointer; } .jio-creator-drawer__body { flex: 1; overflow-y: auto; padding: 20px 24px 32px; } .jio-creator-drawer__note { margin: 0 0 20px; padding: 12px 14px; border-left: 3px solid $accent; background: #f2f7f4; color: $ink-soft; font-size: 13px; line-height: 1.6; } .jio-creator-drawer__foot { display: flex; flex-direction: column; gap: 12px; padding: 16px 24px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid $line; background: #fff; .jio-creator-primary { flex: 1; } } .jio-creator-drawer__actions { display: flex; align-items: center; gap: 12px; } .jio-creator-drawer__captcha { min-height: 40px; } .jio-creator-field { margin-bottom: 26px; > h3 { margin: 0 0 10px; font-size: 13px; font-weight: 600; color: $ink; } } .jio-creator-muted { margin: 0; color: $ink-soft; font-size: 12px; line-height: 1.6; } .jio-creator-error { margin: 8px 0 0; color: $warn; font-size: 12px; } .jio-creator-chips { display: flex; flex-wrap: wrap; gap: 8px; } .jio-creator-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid $line; border-radius: 999px; color: $ink-soft; font-size: 13px; cursor: pointer; input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); } &.is-active { border-color: $accent; background: #eef5f2; color: $accent-strong; } button { border: 0; background: transparent; cursor: pointer; color: inherit; } } .jio-creator-inline { display: flex; gap: 8px; margin-top: 10px; input[type="text"], input:not([type]) { flex: 1; min-width: 0; } input[type="text"], input:not([type]) { height: 36px; padding: 0 12px; border: 1px solid $line; border-radius: 8px; } label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; } } .jio-creator-switch { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; h3 { margin: 0 0 4px; font-size: 13px; } } .jio-creator-toggle { position: relative; flex: 0 0 auto; input { position: absolute; width: 1px; height: 1px; opacity: 0; } span { display: block; width: 42px; height: 24px; border-radius: 999px; background: #d6dfda; transition: background 0.18s ease; &::after { display: block; width: 18px; height: 18px; margin: 3px; border-radius: 50%; background: #fff; content: ""; transition: transform 0.18s ease; } } input:checked + span { background: $accent; } input:checked + span::after { transform: translateX(18px); } input:focus-visible + span { outline: 2px solid $accent; outline-offset: 2px; } } .jio-creator-pay { margin-top: 16px; padding: 16px; border: 1px solid $line; border-radius: 10px; background: #fcfdfc; } .jio-creator-input { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 13px; input { width: 140px; height: 36px; padding: 0 12px; border: 1px solid $line; border-radius: 8px; text-align: right; } } /* 价格输入:带货币 / 积分后缀,输入区仍保持右对齐的数字。 */ .jio-creator-price { display: inline-flex; align-items: center; gap: 4px; color: $ink-soft; em { font-size: 12px; font-style: normal; } input { width: 118px; } } /* 现金 / 积分切换:分段控件,比原生 radio 更贴近前台投稿卡片。 */ .jio-creator-segment { display: inline-flex; gap: 4px; margin-bottom: 4px; padding: 3px; border-radius: 9px; background: #eef1f0; button { min-height: 30px; padding: 0 14px; border: 0; border-radius: 7px; background: transparent; color: $ink-soft; cursor: pointer; font-size: 13px; &:hover { color: $accent-strong; } &.is-active { background: #fff; color: $accent-strong; box-shadow: 0 1px 3px rgba(24, 39, 34, 0.1); } } } .jio-creator-vip-prices { margin-top: 4px; padding-top: 6px; border-top: 1px dashed $line; } .jio-creator-cover { position: relative; overflow: hidden; border-radius: 10px; img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; } button { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, 0.55); color: #fff; cursor: pointer; } } .jio-creator-cover-empty { display: flex; min-height: 120px; align-items: center; justify-content: center; flex-direction: column; gap: 8px; border: 1px dashed $line; border-radius: 10px; background: #fafcfb; color: $ink-soft; font-size: 13px; cursor: pointer; input { position: absolute; width: 1px; height: 1px; opacity: 0; } } .jio-creator-attachments { margin-top: 18px; padding-top: 16px; border-top: 1px solid $line; } .jio-creator-attachments__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; h4 { margin: 0 0 2px; font-size: 13px; } .jio-creator-muted { margin: 0; } } .jio-creator-attachments__actions { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; } .jio-creator-upload { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid $line; border-radius: 8px; color: $accent-strong; font-size: 12px; cursor: pointer; input { position: absolute; width: 1px; height: 1px; opacity: 0; } } .jio-creator-files { margin: 12px 0 0; padding: 0; list-style: none; li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f0f4f1; font-size: 13px; } button { border: 0; background: transparent; color: $ink-soft; cursor: pointer; } } /* 资源名本身可点开编辑器,删除按钮单独占右侧。 */ .jio-creator-files__name { display: inline-flex; min-width: 0; flex: 1; align-items: center; gap: 8px; overflow: hidden; padding: 0; border: 0; background: transparent; color: $accent-strong; cursor: pointer; font: inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; &:hover { text-decoration: underline; } i { flex: 0 0 auto; color: $accent; } } .jio-creator-files__remove { flex: 0 0 auto; margin-left: auto; color: #9aa2a0 !important; &:hover, &:focus-visible { color: $warn !important; } } .jio-creator-reuse { margin-top: 14px; font-size: 13px; summary { cursor: pointer; color: $ink-soft; } ul { margin: 10px 0 0; padding: 0; list-style: none; } li { display: flex; align-items: center; gap: 10px; padding: 6px 0; } button { margin-left: auto; border: 1px solid $line; border-radius: 6px; background: #fff; cursor: pointer; } } .jio-creator-link { border: 0; background: transparent; color: var(--jc-ink-soft, #{$ink-soft}); font-size: 13px; text-decoration: underline; cursor: pointer; }