- 望气定鼎:stats 追踪四维(人兴/道兴/威名/香火)+ 十二称号分档 + 铭文诗 春秋原页预演称号,落印定局(青册留档,不阻继续游历) - 太虚大比:每五年征召,点将三关(初试/拔擢/问鼎)复用战斗结算, 名次四档红利(声望/灵石/全场好感),史书战报自动落笔 - 宗门寄读:随机宗门收徒(适龄少年),寄读 2-4 年期间每季寄资源, 期满三选:归来精进(可触发突破+随机机运)或续读深造;低概率择师不回 - 求经台:藏书阁≥3 解锁,两年一访得稀有功法 - 春秋原复盘页:气数四维图/岁末族簿汇编/生卒与突破年表/大比年表 - 修复:大比征召曾因月份条件错过整年;抢在百年庆典前的优先级倒置 - 测试 161→176(评分边界/称号分档/大比三轨/寄读全链/求经冷却)
1478 lines
33 KiB
CSS
1478 lines
33 KiB
CSS
/* ============================================================
|
|
仙途家族志 · 水墨中国风主题
|
|
墨为底、纸为面、朱砂点睛、泥金饰边
|
|
============================================================ */
|
|
|
|
:root {
|
|
--ink-bg: #100d0a;
|
|
--ink-bg2: #16120d;
|
|
--ink-deep: #0b0906;
|
|
--paper: #f2e9d4;
|
|
--paper-dim: #e3d6b8;
|
|
--paper-dark: #cdbfa0;
|
|
--ink: #2a2214;
|
|
--ink-soft: #554a35;
|
|
--ink-faint: #8b7f66;
|
|
--vermilion: #a93b2e;
|
|
--vermilion-soft: #c05a41;
|
|
--vermilion-bright: #d06a4c;
|
|
--gold: #b3913e;
|
|
--gold-soft: #c7a44b;
|
|
--green: #56704d;
|
|
--blue-ink: #4d616e;
|
|
font-size: 15px;
|
|
}
|
|
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html,
|
|
body,
|
|
#root {
|
|
height: 100%;
|
|
}
|
|
|
|
body {
|
|
background: var(--ink-bg);
|
|
color: var(--paper);
|
|
font-family: "STKaiti", "KaiTi", "Kaiti SC", "华文楷体", "楷体", "Noto Serif SC", "Source Han Serif SC", serif;
|
|
overflow: hidden;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
.app {
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
/* ---------- 纸纹 overlay ---------- */
|
|
.paper-tex {
|
|
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' seed='7'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='0.55'/></svg>");
|
|
background-blend-mode: multiply;
|
|
background-size: 160px 160px;
|
|
}
|
|
|
|
::-webkit-scrollbar {
|
|
width: 9px;
|
|
height: 9px;
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: linear-gradient(180deg, #3d3527, #574e3a);
|
|
border-radius: 6px;
|
|
border: 2px solid rgba(0, 0, 0, 0.4);
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
::-webkit-scrollbar-corner {
|
|
background: transparent;
|
|
}
|
|
|
|
::selection {
|
|
background: rgba(169, 59, 46, 0.45);
|
|
color: #fdf6e3;
|
|
}
|
|
|
|
/* ---------- 通用 ---------- */
|
|
.btn {
|
|
background: linear-gradient(180deg, #20180f, #191209);
|
|
border: 1px solid #3d3221;
|
|
color: #d8c8a8;
|
|
padding: 6px 14px;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
font-family: inherit;
|
|
font-size: 0.95rem;
|
|
letter-spacing: 1px;
|
|
transition: all 0.16s ease;
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 236, 190, 0.05);
|
|
}
|
|
.btn:hover:not(:disabled) {
|
|
border-color: var(--gold);
|
|
color: var(--gold-soft);
|
|
box-shadow: 0 0 14px rgba(179, 145, 62, 0.25), 0 2px 6px rgba(0, 0, 0, 0.45);
|
|
}
|
|
.btn:active:not(:disabled) {
|
|
transform: translateY(1px);
|
|
}
|
|
.btn:disabled {
|
|
opacity: 0.34;
|
|
cursor: not-allowed;
|
|
}
|
|
.btn-primary {
|
|
background: linear-gradient(180deg, #b54739, #8e2f24);
|
|
border-color: #d06a4c;
|
|
color: #fef3dc;
|
|
text-shadow: 0 1px 2px rgba(60, 12, 6, 0.5);
|
|
}
|
|
.btn-primary:hover:not(:disabled) {
|
|
border-color: var(--gold-soft);
|
|
box-shadow: 0 0 18px rgba(192, 90, 65, 0.5);
|
|
}
|
|
.btn-danger {
|
|
border-color: #6b3228;
|
|
color: #d08b7a;
|
|
}
|
|
.btn-sm {
|
|
padding: 2px 9px;
|
|
font-size: 0.85rem;
|
|
border-radius: 2px;
|
|
}
|
|
.btn-lg {
|
|
padding: 10px 34px;
|
|
font-size: 1.12rem;
|
|
letter-spacing: 4px;
|
|
}
|
|
|
|
/* ---------- 宣纸卡片 ---------- */
|
|
.card {
|
|
background:
|
|
linear-gradient(178deg, rgba(255, 250, 232, 0.5), rgba(210, 190, 150, 0.25)),
|
|
linear-gradient(180deg, #f2e9d4, #e8d8b8);
|
|
background-color: var(--paper);
|
|
color: var(--ink);
|
|
border: 1px solid #b7a379;
|
|
border-radius: 3px;
|
|
padding: 12px 14px;
|
|
box-shadow:
|
|
0 3px 14px rgba(0, 0, 0, 0.5),
|
|
inset 0 0 0 1px rgba(255, 250, 235, 0.55),
|
|
inset 0 0 40px rgba(122, 98, 52, 0.12);
|
|
background-image:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='4'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.05'/></svg>"),
|
|
linear-gradient(175deg, rgba(255, 251, 236, 0.72), var(--paper-dim));
|
|
}
|
|
|
|
.card-title {
|
|
color: #64451e;
|
|
font-size: 1.06rem;
|
|
margin-bottom: 8px;
|
|
letter-spacing: 3px;
|
|
position: relative;
|
|
padding-bottom: 6px;
|
|
}
|
|
.card-title::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 52px;
|
|
height: 2px;
|
|
border-radius: 2px;
|
|
background: linear-gradient(90deg, var(--vermilion), rgba(169, 59, 46, 0.05));
|
|
}
|
|
|
|
.dim {
|
|
color: #6d6150;
|
|
font-size: 0.9rem;
|
|
}
|
|
.dim2 {
|
|
color: #96896e;
|
|
font-size: 0.85rem;
|
|
}
|
|
.good {
|
|
color: #4e6b42;
|
|
}
|
|
.bad {
|
|
color: #a13b2c;
|
|
}
|
|
.warn {
|
|
color: #a06f18;
|
|
}
|
|
.gold {
|
|
color: #8a6416;
|
|
}
|
|
|
|
/* ---------- 印章式图标 ---------- */
|
|
.s-icon,
|
|
.res-icon,
|
|
.bld-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 22px;
|
|
height: 22px;
|
|
border-radius: 4px;
|
|
background: linear-gradient(180deg, #453012, #271a08);
|
|
border: 1px solid #8a6d2f;
|
|
color: #f2ddb0;
|
|
font-size: 0.85rem;
|
|
vertical-align: middle;
|
|
flex-shrink: 0;
|
|
user-select: none;
|
|
box-shadow:
|
|
inset 0 1px 0 rgba(255, 240, 200, 0.16),
|
|
0 2px 5px rgba(0, 0, 0, 0.45);
|
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
|
|
}
|
|
.res-icon {
|
|
width: 18px;
|
|
height: 18px;
|
|
font-size: 0.68rem;
|
|
border-radius: 3px;
|
|
background: linear-gradient(180deg, #38270f, #1e1507);
|
|
}
|
|
.bld-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
font-size: 1.08rem;
|
|
border-radius: 5px;
|
|
background: linear-gradient(180deg, #4d3a20, #2b1d0c);
|
|
color: #f4dda5;
|
|
}
|
|
|
|
/* ---------- 状态条(墨染) ---------- */
|
|
.bar {
|
|
height: 7px;
|
|
background: rgba(35, 27, 14, 0.75);
|
|
border: 1px solid rgba(76, 62, 35, 0.6);
|
|
border-radius: 5px;
|
|
overflow: hidden;
|
|
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.55);
|
|
}
|
|
.bar > div {
|
|
height: 100%;
|
|
background: linear-gradient(90deg, #6d7a54, #86b5a2 60%, #b8d9c4);
|
|
border-radius: 4px;
|
|
transition: width 0.35s ease;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
|
|
}
|
|
.bar.bar-red > div {
|
|
background: linear-gradient(90deg, #8e2f24, #c05a41 60%, #e08a6d);
|
|
}
|
|
|
|
/* ---------- 走笔分隔线 ---------- */
|
|
.brush-line {
|
|
height: 3px;
|
|
border-radius: 3px;
|
|
background: linear-gradient(
|
|
90deg,
|
|
transparent 0%,
|
|
rgba(179, 145, 62, 0.55) 12%,
|
|
rgba(179, 145, 62, 0.25) 30%,
|
|
rgba(179, 145, 62, 0.6) 46%,
|
|
rgba(169, 59, 46, 0.42) 62%,
|
|
rgba(179, 145, 62, 0.25) 80%,
|
|
transparent 100%
|
|
);
|
|
margin: 10px 0;
|
|
}
|
|
|
|
/* ---------- 印章 ---------- */
|
|
.seal {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--vermilion);
|
|
color: #f8efd9;
|
|
font-family: "STKaiti", "KaiTi", serif;
|
|
border-radius: 3px;
|
|
box-shadow:
|
|
0 2px 6px rgba(0, 0, 0, 0.6),
|
|
inset 0 0 6px rgba(255, 220, 200, 0.35);
|
|
padding: 2px 5px;
|
|
font-size: 0.72rem;
|
|
letter-spacing: 1px;
|
|
transform: rotate(-2deg);
|
|
}
|
|
|
|
/* ============================================================
|
|
BOOT · 谷口研墨,远山入卷
|
|
============================================================ */
|
|
.boot {
|
|
position: relative;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 30px;
|
|
overflow: hidden;
|
|
background:
|
|
radial-gradient(ellipse at 50% 8%, #35281a 0%, #181209 48%, #0e0b07 100%);
|
|
}
|
|
.boot-bg {
|
|
position: absolute;
|
|
inset: 0;
|
|
opacity: 0.9;
|
|
pointer-events: none;
|
|
}
|
|
.boot-bg::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
background:
|
|
radial-gradient(ellipse at 50% 20%, rgba(0, 0, 0, 0) 0%, rgba(10, 8, 5, 0.55) 75%),
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='150' height='150' filter='url(%23n)' opacity='0.06'/></svg>");
|
|
}
|
|
.boot-bg img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
opacity: 0.95;
|
|
filter: saturate(1.12) brightness(1.15) contrast(1.06);
|
|
}
|
|
|
|
.boot-inner {
|
|
position: relative;
|
|
z-index: 2;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.boot-title {
|
|
font-size: 4.6rem;
|
|
color: #f3e9cd;
|
|
letter-spacing: 22px;
|
|
text-indent: 22px;
|
|
line-height: 1.1;
|
|
font-weight: 700;
|
|
text-shadow:
|
|
0 2px 0 rgba(20, 12, 4, 0.85),
|
|
0 6px 24px rgba(0, 0, 0, 0.9),
|
|
0 0 60px rgba(220, 170, 90, 0.18);
|
|
}
|
|
.boot-tagline {
|
|
letter-spacing: 13px;
|
|
color: #c8ac72;
|
|
font-size: 0.95rem;
|
|
text-shadow: 0 1px 6px rgba(0, 0, 0, 0.8);
|
|
}
|
|
.boot-en {
|
|
letter-spacing: 5px;
|
|
color: #7d6c4a;
|
|
font-size: 0.72rem;
|
|
}
|
|
.boot-divider {
|
|
width: 380px;
|
|
height: 2px;
|
|
margin-top: 6px;
|
|
background: linear-gradient(90deg, transparent, rgba(240, 220, 170, 0.5), transparent);
|
|
position: relative;
|
|
}
|
|
.boot-divider::after {
|
|
content: "◆";
|
|
position: absolute;
|
|
left: 50%;
|
|
top: -0.62em;
|
|
transform: translateX(-50%);
|
|
color: var(--vermilion-soft);
|
|
font-size: 0.8rem;
|
|
text-shadow: 0 0 8px rgba(192, 90, 65, 0.8);
|
|
}
|
|
.boot-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 11px;
|
|
width: 330px;
|
|
}
|
|
.boot-newgame {
|
|
padding: 13px 0;
|
|
font-size: 1.18rem;
|
|
letter-spacing: 10px;
|
|
background: linear-gradient(180deg, #b54739, #8e2f24);
|
|
border: 1px solid #d98a66;
|
|
color: #fdf3da;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
font-family: inherit;
|
|
text-shadow: 0 1px 2px rgba(70, 15, 8, 0.65);
|
|
box-shadow: 0 8px 26px rgba(140, 40, 24, 0.35), inset 0 1px 0 rgba(255, 240, 210, 0.28);
|
|
transition: all 0.18s;
|
|
}
|
|
.boot-newgame:hover {
|
|
box-shadow: 0 10px 32px rgba(180, 60, 35, 0.5), inset 0 1px 0 rgba(255, 240, 210, 0.3);
|
|
border-color: var(--gold-soft);
|
|
}
|
|
|
|
.boot-slot {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
background:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='0.045'/></svg>"),
|
|
linear-gradient(180deg, #241b11 0%, #1c140c 100%);
|
|
border: 1px solid #3a3021;
|
|
border-radius: 3px;
|
|
padding: 10px 14px;
|
|
cursor: pointer;
|
|
transition: all 0.18s;
|
|
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
|
|
}
|
|
.boot-slot:hover {
|
|
border-color: var(--gold);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
|
|
}
|
|
.boot-slot .slot-no {
|
|
width: 32px;
|
|
height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 1px solid #4d3f28;
|
|
border-radius: 50%;
|
|
color: var(--gold-soft);
|
|
font-size: 0.85rem;
|
|
flex-shrink: 0;
|
|
}
|
|
.boot-slot-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
background: rgba(12, 9, 5, 0.45);
|
|
border: 1px dashed #3a3021;
|
|
min-height: 52px;
|
|
}
|
|
|
|
/* ============================================================
|
|
新游戏
|
|
============================================================ */
|
|
.newgame {
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background:
|
|
radial-gradient(ellipse at 60% 30%, #261c10, #100c08 85%);
|
|
}
|
|
.newgame-box {
|
|
width: 560px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
padding: 26px 30px;
|
|
}
|
|
.newgame .card-title {
|
|
font-size: 1.6rem;
|
|
color: #d9bd85;
|
|
letter-spacing: 10px;
|
|
}
|
|
.field {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.field label {
|
|
width: 80px;
|
|
color: #b09f7c;
|
|
letter-spacing: 2px;
|
|
}
|
|
.field input,
|
|
.field select {
|
|
flex: 1;
|
|
background: rgba(14, 11, 7, 0.8);
|
|
border: 1px solid #3a3021;
|
|
color: #ecdcb8;
|
|
padding: 8px 10px;
|
|
border-radius: 3px;
|
|
font-family: inherit;
|
|
font-size: 1rem;
|
|
outline: none;
|
|
}
|
|
.field input:focus,
|
|
.field select:focus {
|
|
border-color: var(--gold);
|
|
box-shadow: 0 0 10px rgba(179, 145, 62, 0.25);
|
|
}
|
|
.diff-grid {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
.diff-opt {
|
|
flex: 1;
|
|
text-align: center;
|
|
padding: 10px;
|
|
background: rgba(20, 15, 9, 0.65);
|
|
border: 1px solid #3a3021;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
color: #cbbd9e;
|
|
transition: all 0.16s;
|
|
}
|
|
.diff-opt:hover {
|
|
border-color: #6b5836;
|
|
}
|
|
.diff-opt.sel {
|
|
border-color: var(--vermilion-soft);
|
|
color: #f3e6c8;
|
|
background: linear-gradient(180deg, #2b1d12, #1f150c);
|
|
box-shadow: 0 0 12px rgba(169, 59, 46, 0.3);
|
|
}
|
|
|
|
/* ============================================================
|
|
TOPBAR · 檐下横匾
|
|
============================================================ */
|
|
.topbar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14px;
|
|
padding: 9px 18px;
|
|
background: linear-gradient(180deg, #1d1710 0%, #141009 100%);
|
|
border-bottom: 1px solid #3a3021;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
|
|
position: relative;
|
|
}
|
|
.topbar::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: -3px;
|
|
height: 3px;
|
|
background: linear-gradient(
|
|
90deg,
|
|
transparent,
|
|
rgba(179, 145, 62, 0.35) 20%,
|
|
transparent 50%,
|
|
rgba(169, 59, 46, 0.28) 78%,
|
|
transparent
|
|
);
|
|
pointer-events: none;
|
|
}
|
|
.topbar .fam-name {
|
|
font-size: 1.34rem;
|
|
color: #dfc283;
|
|
letter-spacing: 6px;
|
|
font-weight: 700;
|
|
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
|
|
white-space: nowrap;
|
|
}
|
|
.topbar .date {
|
|
white-space: nowrap;
|
|
color: #a08f6b;
|
|
font-size: 0.98rem;
|
|
letter-spacing: 1px;
|
|
background: rgba(38, 29, 16, 0.65);
|
|
border: 1px solid #33291a;
|
|
border-radius: 2px;
|
|
padding: 3px 10px;
|
|
}
|
|
.speed-ctl {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1px;
|
|
}
|
|
.speed-btn {
|
|
width: 30px;
|
|
height: 30px;
|
|
background: rgba(10, 8, 5, 0.6);
|
|
border: 1px solid #33291a;
|
|
color: #8f8264;
|
|
cursor: pointer;
|
|
font-family: inherit;
|
|
font-size: 0.85rem;
|
|
transition: all 0.15s;
|
|
}
|
|
.speed-btn:hover {
|
|
color: #d8c392;
|
|
border-color: #5b4a2e;
|
|
}
|
|
.speed-btn.sel {
|
|
background: linear-gradient(180deg, #4a3620, #352718);
|
|
border-color: var(--gold);
|
|
color: var(--gold-soft);
|
|
box-shadow: inset 0 0 8px rgba(179, 145, 62, 0.3);
|
|
}
|
|
|
|
.ress {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: center;
|
|
margin-left: auto;
|
|
font-size: 0.95rem;
|
|
white-space: nowrap;
|
|
}
|
|
.res-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
color: #cbbd9e;
|
|
background: rgba(38, 29, 16, 0.6);
|
|
border: 1px solid #2f2517;
|
|
padding: 3px 9px;
|
|
border-radius: 2px;
|
|
}
|
|
.res-icon {
|
|
font-size: 0.95rem;
|
|
}
|
|
.topbar .btn-sm {
|
|
margin-left: 6px;
|
|
}
|
|
|
|
/* ---------- tabs ---------- */
|
|
.tabs {
|
|
display: flex;
|
|
gap: 3px;
|
|
padding: 0 16px;
|
|
background: linear-gradient(180deg, #181209, #110d08);
|
|
border-bottom: 1px solid #2b2214;
|
|
flex-shrink: 0;
|
|
}
|
|
.tab {
|
|
padding: 9px 20px;
|
|
color: #8f7f5d;
|
|
cursor: pointer;
|
|
border-bottom: 2px solid transparent;
|
|
letter-spacing: 4px;
|
|
user-select: none;
|
|
font-size: 0.98rem;
|
|
position: relative;
|
|
transition: color 0.15s;
|
|
}
|
|
.tab:hover {
|
|
color: #c9b787;
|
|
}
|
|
.tab.sel {
|
|
color: #e8cf96;
|
|
border-bottom-color: var(--vermilion);
|
|
text-shadow: 0 0 18px rgba(192, 90, 65, 0.35);
|
|
}
|
|
.tab.sel::before {
|
|
content: "〓";
|
|
margin-right: 8px;
|
|
font-size: 0.6rem;
|
|
color: var(--vermilion-soft);
|
|
vertical-align: 2px;
|
|
}
|
|
|
|
.main {
|
|
flex: 1;
|
|
display: flex;
|
|
overflow: hidden;
|
|
}
|
|
.main-left {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 16px;
|
|
background:
|
|
radial-gradient(ellipse at 15% 8%, rgba(64, 48, 24, 0.5) 0%, transparent 55%),
|
|
radial-gradient(ellipse at 85% 90%, rgba(46, 34, 18, 0.55) 0%, transparent 50%),
|
|
#110d08;
|
|
}
|
|
.main-right {
|
|
width: 330px;
|
|
border-left: 1px solid #2b2214;
|
|
background: linear-gradient(180deg, #0d0a06, #120e09);
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-shrink: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* ============================================================
|
|
家族成员
|
|
============================================================ */
|
|
.member-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
.member-card {
|
|
position: relative;
|
|
background:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='9'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.05'/></svg>"),
|
|
linear-gradient(180deg, #f4ecd9 0%, #e9dabc 100%);
|
|
color: var(--ink);
|
|
border: 1px solid #b9a77e;
|
|
border-radius: 3px;
|
|
padding: 12px 12px 10px;
|
|
cursor: pointer;
|
|
transition: all 0.18s;
|
|
box-shadow:
|
|
0 4px 12px rgba(0, 0, 0, 0.55),
|
|
inset 0 0 0 1px rgba(255, 252, 242, 0.6),
|
|
inset 0 0 32px rgba(130, 100, 50, 0.1);
|
|
}
|
|
.member-card:hover {
|
|
border-color: var(--gold);
|
|
transform: translateY(-2px);
|
|
box-shadow:
|
|
0 10px 22px rgba(0, 0, 0, 0.55),
|
|
0 0 0 1px rgba(226, 197, 122, 0.25),
|
|
inset 0 0 0 1px rgba(255, 252, 242, 0.6);
|
|
}
|
|
.member-card.dead {
|
|
opacity: 0.5;
|
|
filter: saturate(0.55);
|
|
}
|
|
.member-card.dead:hover {
|
|
opacity: 0.65;
|
|
}
|
|
.mc-head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
.m-avatar {
|
|
width: 46px;
|
|
height: 46px;
|
|
border-radius: 50%;
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 1.36rem;
|
|
color: #f8efd9;
|
|
font-weight: 700;
|
|
background: radial-gradient(circle at 34% 28%, #b6503d, #8c2f22 70%);
|
|
border: 2px solid rgba(249, 236, 208, 0.85);
|
|
box-shadow:
|
|
0 3px 8px rgba(80, 20, 10, 0.5),
|
|
inset 0 0 10px rgba(90, 22, 12, 0.55);
|
|
text-shadow: 0 1px 2px rgba(70, 15, 8, 0.7);
|
|
font-family: "STXingkai", "STKaiti", "KaiTi", serif;
|
|
}
|
|
.member-name {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
font-size: 1.12rem;
|
|
color: #2e2415;
|
|
font-weight: 700;
|
|
letter-spacing: 1px;
|
|
}
|
|
.member-realm {
|
|
font-size: 0.82rem;
|
|
color: #6d5b3e;
|
|
margin-top: 2px;
|
|
}
|
|
.member-tags {
|
|
display: flex;
|
|
gap: 5px;
|
|
flex-wrap: wrap;
|
|
margin-top: 6px;
|
|
}
|
|
.mc-foot {
|
|
margin-top: 8px;
|
|
}
|
|
.mc-foot .bar {
|
|
height: 6px;
|
|
}
|
|
|
|
.tag {
|
|
background: rgba(44, 33, 18, 0.85);
|
|
border: 1px solid #5a4727;
|
|
color: #d9c49a;
|
|
font-size: 0.72rem;
|
|
padding: 1px 7px;
|
|
border-radius: 2px;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.tag.gold-t {
|
|
background: rgba(140, 90, 22, 0.9);
|
|
border-color: var(--gold);
|
|
color: #ffe9b0;
|
|
}
|
|
.tag.head-t {
|
|
background: var(--vermilion);
|
|
border-color: #d9825f;
|
|
color: #ffeedd;
|
|
box-shadow: 0 0 8px rgba(169, 59, 46, 0.4);
|
|
}
|
|
|
|
/* ---------- 军情 feed ---------- */
|
|
.feed {
|
|
padding: 10px;
|
|
overflow-y: auto;
|
|
flex: 1;
|
|
}
|
|
.feed-item {
|
|
padding: 5px 8px;
|
|
border-left: 2px solid transparent;
|
|
margin-bottom: 3px;
|
|
font-size: 0.85rem;
|
|
line-height: 1.5;
|
|
border-radius: 2px;
|
|
}
|
|
.feed-item:hover {
|
|
background: rgba(255, 235, 190, 0.03);
|
|
}
|
|
.feed-item.k-info {
|
|
color: #8b7c5e;
|
|
}
|
|
.feed-item.k-good {
|
|
border-left-color: #86a06a;
|
|
color: #b3c99a;
|
|
}
|
|
.feed-item.k-bad {
|
|
border-left-color: var(--vermilion);
|
|
color: #d99a85;
|
|
}
|
|
.feed-item.k-war {
|
|
border-left-color: #c28552;
|
|
color: #e0b98a;
|
|
}
|
|
.feed-item.k-chronicle {
|
|
border-left-color: var(--gold);
|
|
color: #e0c688;
|
|
}
|
|
.feed-item.k-event {
|
|
border-left-color: #7d93a4;
|
|
color: #a9bfcf;
|
|
}
|
|
.feed-date {
|
|
color: #5c5140;
|
|
font-size: 0.72rem;
|
|
margin-right: 6px;
|
|
}
|
|
.feed-title {
|
|
padding: 10px 12px 6px;
|
|
color: #caa95c;
|
|
letter-spacing: 5px;
|
|
font-size: 0.85rem;
|
|
border-bottom: 1px solid #29200f;
|
|
background: linear-gradient(180deg, #151009, #100c07);
|
|
}
|
|
|
|
/* ============================================================
|
|
领地
|
|
============================================================ */
|
|
.bld-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
.bld-card {
|
|
background:
|
|
linear-gradient(180deg, #f4ecd9 0%, #e7d7b6 100%);
|
|
color: var(--ink);
|
|
border: 1px solid #b9a77e;
|
|
border-radius: 3px;
|
|
padding: 14px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 190px;
|
|
box-shadow:
|
|
0 4px 12px rgba(0, 0, 0, 0.55),
|
|
inset 0 0 0 1px rgba(255, 252, 242, 0.6),
|
|
inset 0 0 36px rgba(130, 100, 50, 0.1);
|
|
}
|
|
.bld-head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
font-size: 1.06rem;
|
|
font-weight: 700;
|
|
color: #3a2d17;
|
|
}
|
|
.bld-icon {
|
|
font-size: 1.5rem;
|
|
filter: saturate(0.8);
|
|
}
|
|
.bld-lv {
|
|
margin-left: auto;
|
|
color: #a04b33;
|
|
letter-spacing: 2px;
|
|
font-size: 0.9rem;
|
|
}
|
|
.bld-desc {
|
|
color: #6d5b3e;
|
|
font-size: 0.85rem;
|
|
margin: 7px 0;
|
|
min-height: 38px;
|
|
line-height: 1.5;
|
|
}
|
|
.bld-prod {
|
|
font-size: 0.85rem;
|
|
color: #3e5a66;
|
|
margin-bottom: 10px;
|
|
border-top: 1px dashed rgba(90, 72, 40, 0.35);
|
|
padding-top: 7px;
|
|
}
|
|
.bld-card.uc { /* 未建 */
|
|
background:
|
|
linear-gradient(180deg, rgba(244, 236, 217, 0.45), rgba(231, 215, 182, 0.3));
|
|
border-style: dashed;
|
|
color: #4a3d29;
|
|
filter: saturate(0.6);
|
|
}
|
|
|
|
/* ============================================================
|
|
坊市 / 外交 / 探秘
|
|
============================================================ */
|
|
.market-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
background:
|
|
linear-gradient(180deg, #f4ecd9, #e9dabc);
|
|
color: var(--ink);
|
|
border: 1px solid #b9a77e;
|
|
border-radius: 3px;
|
|
overflow: hidden;
|
|
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55), inset 0 0 0 1px rgba(255, 252, 242, 0.55);
|
|
}
|
|
.market-table th {
|
|
text-align: left;
|
|
color: #64451e;
|
|
font-weight: 700;
|
|
background: rgba(120, 92, 42, 0.12);
|
|
border-bottom: 1px solid #b3a075;
|
|
padding: 8px 10px;
|
|
font-size: 0.9rem;
|
|
letter-spacing: 2px;
|
|
}
|
|
.market-table td {
|
|
padding: 8px 10px;
|
|
border-bottom: 1px dashed rgba(120, 98, 55, 0.3);
|
|
font-size: 0.92rem;
|
|
}
|
|
.market-table tr:hover td {
|
|
background: rgba(179, 145, 62, 0.08);
|
|
}
|
|
.market-table .btn {
|
|
background: linear-gradient(180deg, #efe4c8, #e2d2ab);
|
|
border-color: #a08c5c;
|
|
color: #4a3620;
|
|
}
|
|
.market-table .btn:hover {
|
|
border-color: var(--vermilion);
|
|
color: #8a2f22;
|
|
}
|
|
|
|
.help-text {
|
|
color: #a2906c;
|
|
font-size: 0.85rem;
|
|
line-height: 1.8;
|
|
max-width: 680px;
|
|
background: rgba(24, 18, 10, 0.72);
|
|
border: 1px solid #33291a;
|
|
border-left: 3px solid var(--vermilion);
|
|
padding: 11px 14px;
|
|
border-radius: 2px;
|
|
margin: 0 0 14px;
|
|
}
|
|
|
|
.npc-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14px;
|
|
padding: 12px 14px;
|
|
background: linear-gradient(180deg, #f4ecd9, #e9dabc);
|
|
color: var(--ink);
|
|
border: 1px solid #b9a77e;
|
|
border-radius: 3px;
|
|
margin-bottom: 8px;
|
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
|
|
}
|
|
.npc-name {
|
|
min-width: 136px;
|
|
font-size: 1.05rem;
|
|
font-weight: 700;
|
|
color: #3a2d17;
|
|
}
|
|
.relation-bar {
|
|
flex: 1;
|
|
}
|
|
.relation-num {
|
|
width: 92px;
|
|
text-align: right;
|
|
font-size: 0.85rem;
|
|
}
|
|
.npc-row .btn {
|
|
background: linear-gradient(180deg, #efe4c8, #dfcfa8);
|
|
border-color: #a08c5c;
|
|
color: #4a3620;
|
|
}
|
|
.npc-row .btn:hover {
|
|
border-color: var(--vermilion);
|
|
color: #8a2f22;
|
|
}
|
|
|
|
.mission-card {
|
|
background: linear-gradient(180deg, #f4ecd9, #e9dabc);
|
|
color: var(--ink);
|
|
border: 1px solid #b9a77e;
|
|
border-radius: 3px;
|
|
padding: 14px;
|
|
margin-bottom: 10px;
|
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
|
|
}
|
|
.squad-picker {
|
|
display: flex;
|
|
gap: 7px;
|
|
flex-wrap: wrap;
|
|
margin: 8px 0;
|
|
}
|
|
.squadian {
|
|
padding: 4px 10px;
|
|
border: 1px solid #a08c5c;
|
|
border-radius: 2px;
|
|
cursor: pointer;
|
|
font-size: 0.85rem;
|
|
color: #64502e;
|
|
background: #f7f0de;
|
|
transition: all 0.14s;
|
|
}
|
|
.squadian:hover {
|
|
border-color: var(--gold);
|
|
}
|
|
.squadian.sel {
|
|
border-color: var(--vermilion);
|
|
color: #9c3526;
|
|
background: rgba(169, 59, 46, 0.1);
|
|
}
|
|
|
|
/* ============================================================
|
|
史书
|
|
============================================================ */
|
|
.chronicle-list {
|
|
max-width: 760px;
|
|
background: linear-gradient(180deg, #f4ecd9, #e9dabc);
|
|
color: var(--ink);
|
|
border: 1px solid #b9a77e;
|
|
border-radius: 3px;
|
|
padding: 6px 16px;
|
|
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55), inset 0 0 40px rgba(130, 100, 50, 0.1);
|
|
}
|
|
.ch-item {
|
|
display: flex;
|
|
gap: 14px;
|
|
padding: 9px 0;
|
|
border-bottom: 1px dashed rgba(120, 98, 55, 0.32);
|
|
font-size: 0.95rem;
|
|
line-height: 1.6;
|
|
color: #3c2f1a;
|
|
}
|
|
.ch-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.ch-year {
|
|
color: #a04b33;
|
|
white-space: nowrap;
|
|
min-width: 92px;
|
|
letter-spacing: 1px;
|
|
}
|
|
.ch-item .tag {
|
|
background: rgba(120, 92, 42, 0.16);
|
|
border-color: #b3a075;
|
|
color: #7a5d2e;
|
|
}
|
|
|
|
/* ============================================================
|
|
弹出镸面
|
|
============================================================ */
|
|
.modal-outer {
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(5, 4, 2, 0.82);
|
|
backdrop-filter: blur(2px);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 50;
|
|
}
|
|
.modal {
|
|
position: relative;
|
|
width: 570px;
|
|
max-height: 82vh;
|
|
overflow-y: auto;
|
|
border-radius: 2px;
|
|
padding: 26px 30px 24px;
|
|
background:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' seed='11'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.05'/></svg>"),
|
|
linear-gradient(180deg, #f7efdd 0%, #ecdfc0 100%);
|
|
color: var(--ink);
|
|
box-shadow:
|
|
0 26px 60px rgba(0, 0, 0, 0.85),
|
|
inset 0 0 0 1px rgba(255, 251, 240, 0.65),
|
|
inset 0 0 60px rgba(130, 100, 50, 0.13);
|
|
border: 1px solid #9c8a60;
|
|
}
|
|
.modal::before,
|
|
.modal::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: -1px;
|
|
right: -1px;
|
|
height: 9px;
|
|
background: linear-gradient(180deg, #6b5638, #4b3b24);
|
|
border: 1px solid #8a7248;
|
|
border-radius: 3px;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6);
|
|
pointer-events: none;
|
|
z-index: 3;
|
|
}
|
|
.modal::before {
|
|
top: -5px;
|
|
}
|
|
.modal::after {
|
|
bottom: -5px;
|
|
}
|
|
.modal-title {
|
|
font-size: 1.5rem;
|
|
color: #8c2f22;
|
|
letter-spacing: 6px;
|
|
text-align: center;
|
|
margin-bottom: 5px;
|
|
font-weight: 700;
|
|
text-shadow: 0 1px 0 rgba(255, 250, 235, 0.8);
|
|
}
|
|
.modal-cat {
|
|
text-align: center;
|
|
color: #97835c;
|
|
font-size: 0.82rem;
|
|
margin-bottom: 14px;
|
|
letter-spacing: 2px;
|
|
}
|
|
.modal-text {
|
|
font-size: 1.03rem;
|
|
line-height: 1.9;
|
|
margin-bottom: 18px;
|
|
color: #342a18;
|
|
border-top: 1px solid rgba(169, 59, 46, 0.25);
|
|
padding-top: 14px;
|
|
border-bottom: 1px solid rgba(120, 98, 55, 0.25);
|
|
padding-bottom: 14px;
|
|
}
|
|
.modal-opts {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 9px;
|
|
}
|
|
.opt-btn {
|
|
background: #fbf5e5;
|
|
border: 1px solid #b3a075;
|
|
padding: 11px 16px;
|
|
border-radius: 2px;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
font-family: inherit;
|
|
color: #342a18;
|
|
font-size: 0.98rem;
|
|
transition: all 0.15s;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 250, 0.6);
|
|
}
|
|
.opt-btn:hover {
|
|
border-color: var(--vermilion);
|
|
background: #fdf8ea;
|
|
box-shadow: 0 0 0 1px rgba(169, 59, 46, 0.15), inset 0 1px 0 rgba(255, 255, 250, 0.6);
|
|
}
|
|
.opt-btn:hover .hint {
|
|
color: #9c3526;
|
|
}
|
|
.opt-btn .hint {
|
|
display: block;
|
|
color: #97835c;
|
|
font-size: 0.8rem;
|
|
margin-top: 3px;
|
|
}
|
|
|
|
/* ---------- member modal ---------- */
|
|
.member-modal {
|
|
width: 650px;
|
|
}
|
|
.mm-sec {
|
|
margin-top: 12px;
|
|
border-top: 1px dashed rgba(120, 98, 55, 0.35);
|
|
padding-top: 10px;
|
|
}
|
|
.mm-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 3px 14px;
|
|
font-size: 0.94rem;
|
|
}
|
|
.mm-line {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 2px 0;
|
|
color: #6d5b3e;
|
|
}
|
|
.mm-line b {
|
|
color: #342a18;
|
|
font-weight: 700;
|
|
}
|
|
|
|
/* ---------- 战报 · 砚阵 ---------- */
|
|
.battle-modal {
|
|
width: 640px;
|
|
background:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' seed='6'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.04'/></svg>"),
|
|
linear-gradient(180deg, #1b1410 0%, #120d09 100%);
|
|
border-color: #4d3e2a;
|
|
color: #e8dbba;
|
|
}
|
|
.battle-modal::before,
|
|
.battle-modal::after {
|
|
background: linear-gradient(180deg, #3a2f1e, #241c11);
|
|
border-color: #5b4a2e;
|
|
}
|
|
.battle-modal .modal-title {
|
|
color: #d8b879;
|
|
text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
|
|
}
|
|
.battle-modal .modal-cat {
|
|
color: #8f7f5d;
|
|
}
|
|
.battle-lines {
|
|
background: rgba(10, 8, 5, 0.75);
|
|
border: 1px solid #3a3021;
|
|
border-radius: 3px;
|
|
padding: 16px;
|
|
line-height: 1.9;
|
|
font-size: 0.97rem;
|
|
color: #d9c99f;
|
|
margin-bottom: 14px;
|
|
box-shadow: inset 0 2px 12px rgba(0, 0, 0, 0.7);
|
|
}
|
|
.battle-lines div:first-child {
|
|
color: var(--gold-soft);
|
|
letter-spacing: 2px;
|
|
}
|
|
|
|
/* ---------- 谱系 ---------- */
|
|
.genealogy-row {
|
|
display: flex;
|
|
gap: 14px;
|
|
margin-bottom: 14px;
|
|
background: linear-gradient(180deg, rgba(242, 233, 212, 0.035), rgba(242, 233, 212, 0.015));
|
|
border: 1px solid rgba(140, 120, 80, 0.22);
|
|
border-radius: 3px;
|
|
padding: 12px 14px;
|
|
}
|
|
.genealogy-gen {
|
|
writing-mode: vertical-rl;
|
|
color: #cdaa63;
|
|
letter-spacing: 6px;
|
|
font-size: 0.95rem;
|
|
border-right: 1px solid rgba(140, 120, 80, 0.25);
|
|
padding-right: 10px;
|
|
flex-shrink: 0;
|
|
}
|
|
.genealogy-body {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.genealogy-unit {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
border-left: 3px solid rgba(150, 128, 88, 0.35);
|
|
padding-left: 10px;
|
|
}
|
|
.genealogy-parents {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.genealogy-matron {
|
|
color: #a09374;
|
|
font-size: 0.9rem;
|
|
}
|
|
.genealogy-drop {
|
|
height: 12px;
|
|
border-left: 2px solid rgba(150, 128, 88, 0.4);
|
|
margin-left: 30px;
|
|
}
|
|
.genealogy-children,
|
|
.genealogy-singles {
|
|
display: flex;
|
|
gap: 8px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.gene-node {
|
|
background: linear-gradient(180deg, #f4ecd9, #e7d6b4);
|
|
color: #2e2415;
|
|
border: 1px solid #b3a075;
|
|
border-radius: 3px;
|
|
padding: 5px 10px;
|
|
min-width: 108px;
|
|
cursor: pointer;
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 252, 240, 0.6);
|
|
transition: all 0.14s;
|
|
}
|
|
.gene-node:hover {
|
|
border-color: var(--gold);
|
|
transform: translateY(-1px);
|
|
}
|
|
.gene-dead {
|
|
filter: saturate(0.4);
|
|
opacity: 0.55;
|
|
background: linear-gradient(180deg, #d9cfb8, #c8bb9e);
|
|
}
|
|
.gene-head {
|
|
border-color: var(--vermilion);
|
|
box-shadow: 0 0 0 1px rgba(169, 59, 46, 0.25), 0 2px 6px rgba(0, 0, 0, 0.5);
|
|
}
|
|
.gene-name {
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 0.94rem;
|
|
font-weight: 700;
|
|
letter-spacing: 1px;
|
|
}
|
|
.gene-sub {
|
|
font-size: 0.75rem;
|
|
color: #6d5b3e;
|
|
margin-top: 1px;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
.gene-node .tag {
|
|
font-size: 0.62rem;
|
|
padding: 0 4px;
|
|
}
|
|
.genealogy-gen + .genealogy-body:has(.genealogy-singles:empty) .genealogy-singles {
|
|
display: none;
|
|
}
|
|
|
|
/* ---------- 媒人提示 / 年度族簿 ---------- */
|
|
.matchmaker-strip {
|
|
background: linear-gradient(180deg, rgba(240, 214, 160, 0.12), rgba(240, 214, 160, 0.05));
|
|
border: 1px solid rgba(216, 178, 116, 0.35);
|
|
border-left: 3px solid var(--gold);
|
|
color: #d8c08a;
|
|
padding: 9px 14px;
|
|
margin-bottom: 12px;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
font-size: 0.92rem;
|
|
letter-spacing: 1px;
|
|
transition: border-color 0.15s;
|
|
}
|
|
.matchmaker-strip:hover {
|
|
border-color: var(--gold-soft);
|
|
border-left-color: var(--gold);
|
|
}
|
|
.underline {
|
|
text-decoration: underline;
|
|
text-underline-offset: 3px;
|
|
color: var(--gold-soft);
|
|
}
|
|
.yearpaper-modal {
|
|
width: 520px;
|
|
}
|
|
.yearpaper-modal .modal-text {
|
|
border-top: 1px dashed rgba(120, 98, 55, 0.4);
|
|
border-bottom: 1px dashed rgba(120, 98, 55, 0.4);
|
|
}
|
|
.modal-squad .squad-picker {
|
|
background: rgba(180, 150, 90, 0.08);
|
|
border-radius: 3px;
|
|
padding: 8px;
|
|
}
|
|
|
|
/* ============================================================
|
|
设置 & 杂项
|
|
============================================================ */
|
|
.set-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 11px 4px;
|
|
border-bottom: 1px dashed rgba(144, 122, 76, 0.3);
|
|
max-width: 660px;
|
|
color: #cdbd97;
|
|
font-size: 0.96rem;
|
|
}
|
|
|
|
.toast {
|
|
position: fixed;
|
|
bottom: 26px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
background: linear-gradient(180deg, #2b1f10, #1c1409);
|
|
border: 1px solid var(--gold);
|
|
color: var(--gold-soft);
|
|
padding: 9px 24px;
|
|
border-radius: 2px;
|
|
z-index: 99;
|
|
font-size: 0.95rem;
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7);
|
|
letter-spacing: 2px;
|
|
}
|
|
|
|
.gameover-banner {
|
|
text-align: center;
|
|
padding: 70px 20px;
|
|
}
|
|
.gameover-banner h1 {
|
|
color: #a9402f;
|
|
letter-spacing: 14px;
|
|
font-size: 2.8rem;
|
|
margin-bottom: 16px;
|
|
text-shadow: 0 4px 18px rgba(0, 0, 0, 0.8);
|
|
}
|
|
|
|
/* ---------- 春秋原 & 结局 ---------- */
|
|
.legacy-peak {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: radial-gradient(circle at 35% 30%, #6e5630, #2c2110 75%);
|
|
border: 1px solid #7a6434;
|
|
border-radius: 50%;
|
|
box-shadow: 0 0 26px rgba(179, 145, 62, 0.28), inset 0 0 18px rgba(0, 0, 0, 0.6);
|
|
}
|
|
.legacy-glyph {
|
|
font-size: 2.4rem;
|
|
color: #efd9a2;
|
|
letter-spacing: 4px;
|
|
text-shadow: 0 2px 14px rgba(0, 0, 0, 0.8);
|
|
}
|
|
.resolve-dim {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 4px 0;
|
|
}
|
|
.resolve-modal {
|
|
width: 560px;
|
|
background:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' seed='14'/><feColorMatrix type='saturate' values='0'/></filter><rect width='170' height='170' filter='url(%23n)' opacity='0.055'/></svg>"),
|
|
linear-gradient(180deg, #f6edd7 0%, #e8d9b8 100%);
|
|
}
|
|
.resolve-title {
|
|
text-align: center;
|
|
font-size: 2.1rem;
|
|
letter-spacing: 10px;
|
|
color: #8c2f22;
|
|
margin: 10px 0 14px;
|
|
font-weight: 700;
|
|
text-shadow: 0 1px 0 rgba(255, 250, 235, 0.8), 0 4px 16px rgba(140, 47, 34, 0.25);
|
|
}
|
|
.resolve-dims {
|
|
border-top: 1px solid rgba(169, 59, 46, 0.3);
|
|
border-bottom: 1px solid rgba(120, 98, 55, 0.3);
|
|
padding: 10px 4px;
|
|
}
|
|
.resolve-poem {
|
|
text-align: center;
|
|
margin: 16px 0 8px;
|
|
line-height: 2.1;
|
|
color: #4a3c26;
|
|
font-size: 1.06rem;
|
|
letter-spacing: 2px;
|
|
}
|
|
.resolve-stamp {
|
|
text-align: center;
|
|
color: #a06f18;
|
|
letter-spacing: 6px;
|
|
font-size: 0.82rem;
|
|
}
|
|
|
|
/* ---------- 宗祠碑录 ---------- */
|
|
.monument-strip {
|
|
margin-bottom: 14px;
|
|
background: rgba(20, 15, 9, 0.72);
|
|
border: 1px solid #33291a;
|
|
border-radius: 3px;
|
|
padding: 10px 16px;
|
|
}
|
|
.monument-strip .card-title {
|
|
color: #cdaa63;
|
|
}
|