347 lines
5.8 KiB
Plaintext
347 lines
5.8 KiB
Plaintext
.page {
|
|
height: 100vh;
|
|
padding: 20rpx 20rpx 24rpx;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background:
|
|
radial-gradient(circle at top left, #d8f3dc 0%, rgba(216, 243, 220, 0) 32%),
|
|
linear-gradient(180deg, #f7fbf2 0%, #eef6ea 100%);
|
|
color: #163020;
|
|
}
|
|
|
|
.page__header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
margin-bottom: 16rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.page__eyebrow {
|
|
font-size: 20rpx;
|
|
letter-spacing: 4rpx;
|
|
color: #5f7a65;
|
|
}
|
|
|
|
.page__title {
|
|
margin-top: 8rpx;
|
|
font-size: 44rpx;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.page__badge {
|
|
padding: 10rpx 18rpx;
|
|
border-radius: 999rpx;
|
|
background: #163020;
|
|
color: #f7fbf2;
|
|
font-size: 22rpx;
|
|
}
|
|
|
|
.map-stage-wrap {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 66vh;
|
|
min-height: 520rpx;
|
|
max-height: 72vh;
|
|
flex-shrink: 0;
|
|
margin-bottom: 16rpx;
|
|
}
|
|
|
|
.map-stage {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
border: 2rpx solid rgba(22, 48, 32, 0.08);
|
|
border-radius: 32rpx;
|
|
background: #dbeed4;
|
|
box-shadow: 0 18rpx 40rpx rgba(22, 48, 32, 0.08);
|
|
}
|
|
|
|
.map-content {
|
|
position: absolute;
|
|
inset: 0;
|
|
}
|
|
|
|
.map-canvas {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: block;
|
|
}
|
|
|
|
.map-canvas--base {
|
|
z-index: 1;
|
|
}
|
|
|
|
.map-stage__crosshair {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
width: 44rpx;
|
|
height: 44rpx;
|
|
transform: translate(-50%, -50%);
|
|
border: 3rpx solid rgba(255, 255, 255, 0.95);
|
|
border-radius: 50%;
|
|
box-shadow: 0 0 0 4rpx rgba(22, 48, 32, 0.2);
|
|
pointer-events: none;
|
|
z-index: 3;
|
|
}
|
|
|
|
.map-stage__crosshair::before,
|
|
.map-stage__crosshair::after {
|
|
content: '';
|
|
position: absolute;
|
|
background: rgba(255, 255, 255, 0.95);
|
|
}
|
|
|
|
.map-stage__crosshair::before {
|
|
left: 50%;
|
|
top: -18rpx;
|
|
width: 2rpx;
|
|
height: 76rpx;
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.map-stage__crosshair::after {
|
|
left: -18rpx;
|
|
top: 50%;
|
|
width: 76rpx;
|
|
height: 2rpx;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
.map-stage__overlay {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
padding: 24rpx;
|
|
box-sizing: border-box;
|
|
pointer-events: none;
|
|
z-index: 4;
|
|
}
|
|
|
|
.overlay-card {
|
|
width: 68%;
|
|
padding: 22rpx;
|
|
border-radius: 24rpx;
|
|
background: rgba(247, 251, 242, 0.92);
|
|
box-shadow: 0 12rpx 30rpx rgba(22, 48, 32, 0.08);
|
|
}
|
|
|
|
.overlay-card__label {
|
|
font-size: 20rpx;
|
|
letter-spacing: 3rpx;
|
|
color: #5f7a65;
|
|
}
|
|
|
|
.overlay-card__title {
|
|
margin-top: 10rpx;
|
|
font-size: 34rpx;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.overlay-card__desc {
|
|
margin-top: 12rpx;
|
|
font-size: 24rpx;
|
|
line-height: 1.6;
|
|
color: #45624b;
|
|
}
|
|
|
|
.compass-widget {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 10rpx;
|
|
}
|
|
|
|
.compass-widget__ring {
|
|
position: relative;
|
|
width: 108rpx;
|
|
height: 108rpx;
|
|
border-radius: 50%;
|
|
background: rgba(247, 251, 242, 0.94);
|
|
border: 2rpx solid rgba(22, 48, 32, 0.12);
|
|
box-shadow: 0 10rpx 24rpx rgba(22, 48, 32, 0.1);
|
|
}
|
|
|
|
.compass-widget__north {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 10rpx;
|
|
transform: translateX(-50%);
|
|
font-size: 20rpx;
|
|
font-weight: 700;
|
|
color: #d62828;
|
|
}
|
|
|
|
.compass-widget__needle {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 18rpx;
|
|
width: 4rpx;
|
|
height: 72rpx;
|
|
transform-origin: 50% 36rpx;
|
|
background: linear-gradient(180deg, #d62828 0%, #163020 100%);
|
|
border-radius: 999rpx;
|
|
}
|
|
|
|
.compass-widget__center {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
width: 14rpx;
|
|
height: 14rpx;
|
|
transform: translate(-50%, -50%);
|
|
border-radius: 50%;
|
|
background: #163020;
|
|
}
|
|
|
|
.compass-widget__label {
|
|
min-width: 92rpx;
|
|
padding: 6rpx 10rpx;
|
|
border-radius: 999rpx;
|
|
background: rgba(247, 251, 242, 0.94);
|
|
font-size: 20rpx;
|
|
text-align: center;
|
|
color: #163020;
|
|
box-shadow: 0 8rpx 18rpx rgba(22, 48, 32, 0.08);
|
|
}
|
|
|
|
.compass-widget__hint {
|
|
margin-top: 8rpx;
|
|
font-size: 18rpx;
|
|
line-height: 1.4;
|
|
color: #d62828;
|
|
text-align: center;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.info-panel {
|
|
flex: 1;
|
|
min-height: 0;
|
|
padding: 22rpx 20rpx 28rpx;
|
|
box-sizing: border-box;
|
|
border-radius: 28rpx;
|
|
background: rgba(255, 255, 255, 0.88);
|
|
box-shadow: 0 12rpx 32rpx rgba(22, 48, 32, 0.08);
|
|
}
|
|
|
|
.info-panel__row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16rpx;
|
|
padding: 10rpx 0;
|
|
border-bottom: 1rpx solid rgba(22, 48, 32, 0.08);
|
|
}
|
|
|
|
.info-panel__row--stack {
|
|
display: block;
|
|
}
|
|
|
|
.info-panel__row:last-of-type {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.info-panel__label {
|
|
flex-shrink: 0;
|
|
font-size: 22rpx;
|
|
letter-spacing: 2rpx;
|
|
color: #5f7a65;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.info-panel__value {
|
|
font-size: 25rpx;
|
|
color: #163020;
|
|
text-align: right;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.info-panel__row--stack .info-panel__value {
|
|
display: block;
|
|
margin-top: 10rpx;
|
|
text-align: left;
|
|
color: #45624b;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.info-panel__actions {
|
|
display: flex;
|
|
gap: 14rpx;
|
|
margin-top: 18rpx;
|
|
}
|
|
|
|
.info-panel__actions--triple .info-panel__action {
|
|
font-size: 23rpx;
|
|
}
|
|
|
|
.info-panel__action {
|
|
flex: 1;
|
|
min-width: 0;
|
|
border-radius: 999rpx;
|
|
background: #d7e8da;
|
|
color: #163020;
|
|
font-size: 26rpx;
|
|
}
|
|
|
|
.info-panel__action--primary {
|
|
background: #2d6a4f;
|
|
color: #f7fbf2;
|
|
}
|
|
|
|
.info-panel__action--secondary {
|
|
background: #eef6ea;
|
|
color: #45624b;
|
|
}
|
|
|
|
.info-panel__action--active {
|
|
background: #2d6a4f;
|
|
color: #f7fbf2;
|
|
}
|
|
|
|
.control-row {
|
|
display: flex;
|
|
gap: 14rpx;
|
|
margin-top: 18rpx;
|
|
}
|
|
|
|
.control-row--triple .control-chip {
|
|
font-size: 23rpx;
|
|
}
|
|
|
|
.control-chip {
|
|
flex: 1;
|
|
min-width: 0;
|
|
padding: 20rpx 16rpx;
|
|
border-radius: 999rpx;
|
|
background: #d7e8da;
|
|
color: #163020;
|
|
font-size: 26rpx;
|
|
text-align: center;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.control-chip--primary {
|
|
background: #2d6a4f;
|
|
color: #f7fbf2;
|
|
}
|
|
|
|
.control-chip--secondary {
|
|
background: #eef6ea;
|
|
color: #45624b;
|
|
}
|
|
|
|
.control-chip--active {
|
|
background: #2d6a4f;
|
|
color: #f7fbf2;
|
|
}
|
|
|
|
|