c6def26b52
- API 基址支持 TARO_APP_API_BASE 覆盖;头像/入驻资料上传带 dir 业务目录(OSS 路径规范) - 资讯详情:真实点赞(计数)/微信分享(openType=share+useShareAppMessage)/留言;封面 3.35:1 裁切;顶部色条修复 - 发布者徽章(官方/园区/OPC 三款渐变胶囊);头像有则显示无则不留位 - 动作按钮纯图标化并入留言标题行;留言区胶囊输入+渐变发送键
584 lines
10 KiB
SCSS
584 lines
10 KiB
SCSS
/* OPC 创业基因测评 · 小程序端(后端驱动) */
|
|
.ot {
|
|
padding: 0 32rpx;
|
|
padding-bottom: 180rpx; /* 底部留白:避开固定 tabBar */
|
|
|
|
position: relative; z-index: 2;}
|
|
|
|
@supports (padding-bottom: env(safe-area-inset-bottom)) {
|
|
.ot {
|
|
padding-bottom: calc(180rpx + env(safe-area-inset-bottom));
|
|
}
|
|
}
|
|
|
|
/* ---------- 区块头 ---------- */
|
|
.ot-head {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 6rpx;
|
|
margin: 48rpx 0 24rpx;
|
|
}
|
|
|
|
.ot-no {
|
|
font-family: 'BubbledotICG', monospace;
|
|
color: #a3abc9;
|
|
font-size: 26rpx;
|
|
letter-spacing: 2rpx;
|
|
}
|
|
|
|
.ot-title {
|
|
font-size: 38rpx;
|
|
font-weight: 800;
|
|
letter-spacing: -0.5rpx;
|
|
line-height: 1.3;
|
|
background: linear-gradient(120deg, #8fc3ff 0%, #a8a0ff 45%, #e0a0ff 80%, #7fe0ff 100%);
|
|
-webkit-background-clip: text;
|
|
background-clip: text;
|
|
color: transparent;
|
|
}
|
|
|
|
.ot-en {
|
|
font-family: 'BubbledotICG', monospace;
|
|
color: #5b5b5b;
|
|
font-size: 24rpx;
|
|
letter-spacing: 2rpx;
|
|
}
|
|
|
|
/* ---------- 欢迎 ---------- */
|
|
.ot-intro {
|
|
display: block;
|
|
font-size: 24rpx; /* 辅助说明降一档,减少视觉比重 */
|
|
color: #8a94b8;
|
|
line-height: 1.7;
|
|
margin-bottom: 24rpx;
|
|
}
|
|
|
|
.ot-version-grid {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.ot-vcard {
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
border: 1rpx solid rgba(99, 132, 255, 0.14);
|
|
border-radius: 16px;
|
|
padding: 28rpx 32rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8rpx;
|
|
}
|
|
|
|
.ot-vcard.sel {
|
|
border-color: #6284ff;
|
|
box-shadow: 0 0 0 1rpx rgba(255, 210, 138, 0.6), 0 0 24rpx rgba(255, 210, 138, 0.15);
|
|
}
|
|
|
|
.ot-vname {
|
|
font-size: 34rpx;
|
|
font-weight: 700;
|
|
color: #23315c;
|
|
}
|
|
|
|
.ot-vcard.sel .ot-vname {
|
|
color: #6284ff;
|
|
}
|
|
|
|
.ot-vmeta {
|
|
font-size: 24rpx;
|
|
color: #9aa4c6;
|
|
}
|
|
|
|
.ot-vdesc {
|
|
font-size: 25rpx;
|
|
color: #a9a9a9;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.ot-features {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10rpx;
|
|
margin-bottom: 32rpx;
|
|
}
|
|
|
|
.ot-feature {
|
|
font-size: 26rpx;
|
|
color: #a9a9a9;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.ot-start {
|
|
margin-top: 8rpx;
|
|
}
|
|
|
|
/* ---------- 答题 ---------- */
|
|
.ot-quiz-head {
|
|
padding-top: 8rpx;
|
|
}
|
|
|
|
.ot-quiz-top {
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.ot-quiz-title {
|
|
font-size: 30rpx;
|
|
font-weight: 700;
|
|
color: #23315c;
|
|
}
|
|
|
|
.ot-quiz-tag {
|
|
margin-left: 14rpx;
|
|
font-size: 20rpx;
|
|
font-weight: 600;
|
|
color: #000;
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
border-radius: 999px;
|
|
padding: 4rpx 16rpx;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.ot-progress-text {
|
|
font-size: 24rpx;
|
|
color: #9aa4c6;
|
|
}
|
|
|
|
.ot-progress {
|
|
height: 10rpx;
|
|
border-radius: 999px;
|
|
background: rgba(99, 132, 255, 0.14);
|
|
margin: 20rpx 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ot-progress-fill {
|
|
height: 100%;
|
|
border-radius: 999px;
|
|
background: linear-gradient(90deg, #6284ff, #ff8f6b);
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.ot-part {
|
|
display: block;
|
|
font-size: 24rpx;
|
|
color: #6284ff;
|
|
margin-bottom: 8rpx;
|
|
}
|
|
|
|
/* 单题卡片下方的操作提示 */
|
|
.ot-hint {
|
|
display: block;
|
|
margin-top: 16rpx;
|
|
font-size: 22rpx;
|
|
color: #9aa4c6;
|
|
text-align: center;
|
|
}
|
|
|
|
.ot-qcard {
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
border: 1rpx solid rgba(99, 132, 255, 0.14);
|
|
border-radius: 16px;
|
|
padding: 28rpx 30rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.ot-qcard.answered {
|
|
border-color: rgba(255, 210, 138, 0.5);
|
|
}
|
|
|
|
/* 一题一屏:卡片更突出,题目/选项更大 */
|
|
.ot-qcard.one {
|
|
margin-top: 8rpx;
|
|
padding: 44rpx 32rpx;
|
|
}
|
|
|
|
.ot-qcard.one .ot-qtext {
|
|
font-size: 36rpx;
|
|
line-height: 1.5;
|
|
margin-bottom: 36rpx;
|
|
}
|
|
|
|
.ot-qcard.one .ot-opt {
|
|
padding: 26rpx 26rpx;
|
|
}
|
|
|
|
.ot-qnum {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 22rpx;
|
|
color: #a3abc9;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
|
|
.ot-check {
|
|
color: #6284ff;
|
|
font-size: 26rpx;
|
|
}
|
|
|
|
.ot-qtext {
|
|
display: block;
|
|
font-size: 30rpx;
|
|
font-weight: 600;
|
|
color: #23315c;
|
|
line-height: 1.5;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.ot-opts {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12rpx;
|
|
}
|
|
|
|
.ot-opt {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12rpx;
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
border: 1rpx solid rgba(99, 132, 255, 0.14);
|
|
border-radius: 14px;
|
|
padding: 20rpx 22rpx;
|
|
}
|
|
|
|
.ot-opt.sel {
|
|
border-color: #6284ff;
|
|
background: rgba(255, 210, 138, 0.08);
|
|
}
|
|
|
|
.opt-key {
|
|
font-family: 'BubbledotICG', monospace;
|
|
color: #9aa4c6;
|
|
font-size: 26rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.ot-opt.sel .opt-key {
|
|
color: #6284ff;
|
|
}
|
|
|
|
.opt-text {
|
|
font-size: 27rpx;
|
|
color: #4a5580;
|
|
line-height: 1.55;
|
|
flex: 1;
|
|
}
|
|
|
|
/* 底部导航(上一题 / 进度计数) */
|
|
.ot-nav-one {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16rpx;
|
|
margin: 28rpx 0 8rpx;
|
|
}
|
|
|
|
.ot-nav-btn {
|
|
flex-shrink: 0;
|
|
line-height: 2.4;
|
|
padding: 0 28rpx;
|
|
}
|
|
|
|
.ot-nav-info {
|
|
font-family: 'BubbledotICG', monospace;
|
|
font-size: 26rpx;
|
|
color: #9aa4c6;
|
|
letter-spacing: 2rpx;
|
|
}
|
|
|
|
.ot-loading {
|
|
display: block;
|
|
text-align: center;
|
|
font-size: 26rpx;
|
|
color: #6284ff;
|
|
margin-top: 24rpx;
|
|
}
|
|
|
|
/* ---------- 报告 ---------- */
|
|
.ot-result-hero {
|
|
background: linear-gradient(135deg, #161618, #221d2e);
|
|
border: 1rpx solid rgba(255, 255, 255, 0.18);
|
|
border-radius: 20px;
|
|
padding: 36rpx 32rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 28rpx;
|
|
margin-bottom: 16rpx;
|
|
}
|
|
|
|
.ot-hero-left {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8rpx;
|
|
min-width: 0;
|
|
}
|
|
|
|
.ot-code {
|
|
font-family: 'BubbledotICG', monospace;
|
|
font-size: 60rpx;
|
|
color: #dfe6ff; /* 深色 hero 卡上提亮,保证对比度 */
|
|
letter-spacing: 4rpx;
|
|
line-height: 1;
|
|
}
|
|
|
|
.ot-persona {
|
|
font-size: 34rpx;
|
|
font-weight: 700;
|
|
color: #6284ff;
|
|
}
|
|
|
|
.ot-tagline {
|
|
font-size: 24rpx;
|
|
color: #a9a9a9;
|
|
}
|
|
|
|
.ot-openpath {
|
|
font-size: 24rpx;
|
|
color: #4a5580;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.ot-hero-right {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 12rpx;
|
|
}
|
|
|
|
.ot-ring {
|
|
width: 168rpx;
|
|
height: 168rpx;
|
|
border-radius: 50%;
|
|
background: conic-gradient(#6284ff var(--p, 0%), rgba(99, 132, 255, 0.14) var(--p, 0%));
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.ot-ring-inner {
|
|
width: 132rpx;
|
|
height: 132rpx;
|
|
border-radius: 50%;
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.ot-ring-num {
|
|
font-family: 'BubbledotICG', monospace;
|
|
font-size: 56rpx;
|
|
color: #23315c;
|
|
}
|
|
|
|
.ot-ring-label {
|
|
font-size: 22rpx;
|
|
color: #4a5580;
|
|
text-align: center;
|
|
}
|
|
|
|
.ot-verdict {
|
|
background: rgba(255, 255, 255, 0.05);
|
|
border: 1rpx solid rgba(99, 132, 255, 0.14);
|
|
border-radius: 16px;
|
|
padding: 24rpx 28rpx;
|
|
font-size: 28rpx;
|
|
color: #23315c;
|
|
line-height: 1.6;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
|
|
.ot-weak {
|
|
font-size: 24rpx;
|
|
color: #8a5a00; /* 浅黄底上换深琥珀,保证对比度 */
|
|
font-weight: 600;
|
|
background: rgba(245, 200, 90, 0.28);
|
|
border: 1rpx dashed rgba(190, 140, 30, 0.55);
|
|
border-radius: 12px;
|
|
padding: 16rpx 22rpx;
|
|
margin-bottom: 8rpx;
|
|
}
|
|
|
|
/* 适配 6 维 */
|
|
.ot-dim {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16rpx;
|
|
margin-bottom: 16rpx;
|
|
}
|
|
|
|
.ot-dim-label {
|
|
width: 140rpx;
|
|
flex-shrink: 0;
|
|
font-size: 26rpx;
|
|
color: #4a5580;
|
|
}
|
|
|
|
.ot-dim-bar {
|
|
flex: 1;
|
|
height: 26rpx;
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ot-dim-fill {
|
|
height: 100%;
|
|
border-radius: 999px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
padding-right: 10rpx;
|
|
min-width: 60rpx;
|
|
}
|
|
|
|
.ot-dim-num {
|
|
font-family: 'BubbledotICG', monospace;
|
|
font-size: 20rpx;
|
|
color: #000;
|
|
font-weight: 700;
|
|
}
|
|
|
|
/* 特质 4 轴 */
|
|
.ot-axis {
|
|
margin-bottom: 18rpx;
|
|
}
|
|
|
|
.ot-axis-head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14rpx;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.ot-axis-name {
|
|
font-size: 26rpx;
|
|
color: #4a5580;
|
|
}
|
|
|
|
.ot-axis-win {
|
|
font-family: 'BubbledotICG', monospace;
|
|
font-size: 26rpx;
|
|
color: #6284ff;
|
|
}
|
|
|
|
.ot-axis-pct {
|
|
margin-left: auto;
|
|
font-family: 'BubbledotICG', monospace;
|
|
font-size: 22rpx;
|
|
color: #9aa4c6;
|
|
}
|
|
|
|
.ot-axis-bar {
|
|
height: 16rpx;
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ot-axis-fill {
|
|
height: 100%;
|
|
border-radius: 999px;
|
|
background: linear-gradient(90deg, #6284ff, #ff8f6b);
|
|
}
|
|
|
|
/* 卡片(赛道 / 角色 / 工具) */
|
|
.ot-card {
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
border: 1rpx solid rgba(99, 132, 255, 0.14);
|
|
border-radius: 16px;
|
|
padding: 28rpx 30rpx;
|
|
margin-bottom: 16rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10rpx;
|
|
}
|
|
|
|
.ot-card-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: 4rpx;
|
|
}
|
|
|
|
.ot-card-name {
|
|
font-size: 32rpx;
|
|
font-weight: 700;
|
|
color: #23315c;
|
|
}
|
|
|
|
.ot-badge {
|
|
font-size: 20rpx;
|
|
font-weight: 700;
|
|
color: #000;
|
|
background: rgba(255,255,255,0.55); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
border-radius: 999px;
|
|
padding: 4rpx 16rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.ot-badge.alt {
|
|
background: #323234;
|
|
color: #c8c8c8;
|
|
}
|
|
|
|
.ot-desc {
|
|
font-size: 26rpx;
|
|
color: #a9a9a9;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.ot-line {
|
|
font-size: 25rpx;
|
|
color: #4a5580;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.ot-line.muted {
|
|
color: #9aa4c6;
|
|
}
|
|
|
|
.ot-line .b {
|
|
color: #6284ff;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* 下一步行动 */
|
|
.ot-step {
|
|
display: block;
|
|
font-size: 26rpx;
|
|
color: #4a5580;
|
|
line-height: 1.65;
|
|
}
|
|
|
|
.ot-step.next {
|
|
color: #23315c;
|
|
}
|
|
|
|
/* 免责声明 + 重测 */
|
|
.ot-note {
|
|
display: block;
|
|
font-size: 22rpx;
|
|
color: #a3abc9;
|
|
line-height: 1.6;
|
|
margin: 24rpx 0;
|
|
}
|
|
|
|
.ot-restart {
|
|
margin-top: 8rpx;
|
|
}
|
|
|
|
.err-text {
|
|
display: block;
|
|
margin-top: 20rpx;
|
|
font-size: 26rpx;
|
|
color: #f0b8b8;
|
|
text-align: center;
|
|
}
|