Archive the differentiated YuXinGu product docs, AI engineering system, design contract, and Go/Vue scaffold. Next execution prioritizes Cece-parity over early innovation (see .ai/product/STRATEGY.md). Co-authored-by: Cursor <cursoragent@cursor.com>
125 lines
5.9 KiB
CSS
125 lines
5.9 KiB
CSS
:root{--pri:#E54D42;--gold:#C8923A;--wd:#5CB85C;--fr:#E54D42;--ea:#E8985A;--mt:#C8923A;--wt:#4A90E2;--bg0:#FFD1C7;--bg1:#FFC8B5;--bg2:#FFF8F0;--bg3:#fff5f0}
|
|
*{box-sizing:border-box;margin:0;padding:0}
|
|
/* legacy body → scoped */
|
|
.app-page{
|
|
font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
|
|
background:linear-gradient(180deg,var(--bg0) 0%,var(--bg1) 30%,var(--bg2) 60%,var(--bg3) 100%);
|
|
min-height:100vh;color:#333;-webkit-font-smoothing:antialiased;
|
|
}
|
|
.container{max-width:500px;margin:0 auto;padding:20px 14px 40px}
|
|
.header{text-align:center;padding:24px 0 16px}
|
|
.header .sub{font-size:12px;color:rgba(0,0,0,0.35);margin-top:4px}
|
|
.card{
|
|
background:#fff;border-radius:16px;padding:20px;margin-bottom:14px;
|
|
box-shadow:0 2px 12px rgba(0,0,0,0.04);
|
|
}
|
|
.card h2{font-size:16px;font-weight:600;margin-bottom:12px;color:#333;display:flex;align-items:center;gap:8px}
|
|
.card h3{font-size:14px;font-weight:600;margin:14px 0 8px;color:#555}
|
|
.card h4{font-size:13px;font-weight:600;color:#333;margin-bottom:4px}
|
|
.card p.dim{font-size:12px;color:#aaa;margin-bottom:14px}
|
|
|
|
/* Tabs */
|
|
.tabs{display:flex;gap:0;margin-bottom:14px;background:#f5f0eb;border-radius:10px;padding:3px}
|
|
.tab{flex:1;text-align:center;padding:10px 0;border-radius:8px;font-size:13px;cursor:pointer;color:#888;transition:all 0.15s}
|
|
.tab.active{background:#fff;color:var(--pri);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,0.06)}
|
|
|
|
/* Form */
|
|
.fg{margin-bottom:12px}
|
|
.fg label{display:block;font-size:12px;color:#999;margin-bottom:4px;font-weight:500}
|
|
.fg input,.fg select{width:100%;padding:12px 14px;border:1.5px solid #e8e0d8;border-radius:10px;font-size:15px;outline:none;background:#fdfaf7}
|
|
.fg input:focus,.fg select:focus{border-color:var(--pri)}
|
|
.fr{display:flex;gap:10px}.fr .fg{flex:1}
|
|
.btn{width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}
|
|
.btn-pri{background:var(--pri);color:#fff}.btn-pri:active{opacity:0.85}
|
|
|
|
/* Pentagram */
|
|
.penta{display:flex;justify-content:center;gap:8px;margin:16px 0;flex-wrap:wrap}
|
|
.pb{text-align:center;min-width:44px}
|
|
.pb .f{height:120px;width:28px;border-radius:14px;margin:0 auto 6px;position:relative;background:#f0ebe5;overflow:hidden}
|
|
.pb .fi{position:absolute;bottom:0;left:0;right:0;border-radius:14px;transition:height 0.6s ease}
|
|
.pb .l{font-size:11px;color:#888}
|
|
.pb .v{font-size:13px;font-weight:700;margin-top:2px}
|
|
|
|
/* Stats */
|
|
.stats2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
|
|
.st2{padding:14px 10px;border-radius:10px;background:#fdf8f5;text-align:center}
|
|
.st2 .v{font-size:20px;font-weight:700}
|
|
.st2 .l{font-size:11px;color:#999;margin-top:2px}
|
|
.st2 .d{font-size:11px;color:#bbb;margin-top:2px;line-height:1.5}
|
|
|
|
/* Bazi table */
|
|
.bzt{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}
|
|
.bzt th{background:#fdf8f5;padding:10px 6px;font-weight:600;font-size:11px;color:#999}
|
|
.bzt td{text-align:center;padding:10px 6px;border-bottom:1px solid #f5f0eb}
|
|
.bzt td strong{font-size:16px}
|
|
.bzt .el{font-size:11px;color:#aaa}
|
|
|
|
/* Tags */
|
|
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
|
|
.tag{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}
|
|
.tg{background:#E6FFE8;color:#388E3C}
|
|
.tw{background:#FFECEC;color:var(--pri)}
|
|
.tb{background:#E6F0FF;color:var(--wt)}
|
|
.to{background:#FFF8E6;color:var(--ea)}
|
|
|
|
/* Risk */
|
|
.rk{padding:14px;border-radius:12px;margin-bottom:10px;border-left:4px solid}
|
|
.rk.r1{background:#FFF0ED;border-color:var(--fr)}
|
|
.rk.r2{background:#FFF8E6;border-color:var(--ea)}
|
|
.rk.r3{background:#E6F0FF;border-color:var(--wt)}
|
|
.rk h4{font-size:14px;margin-bottom:6px}
|
|
.rk p.x{font-size:12px;color:#888;margin-bottom:6px;line-height:1.6}
|
|
.rk ul{list-style:none;padding:0}
|
|
.rk li{font-size:12px;color:#666;padding:2px 0}
|
|
.rk li::before{content:'· ';color:var(--pri)}
|
|
|
|
/* Suggest */
|
|
.sr{display:flex;gap:8px;margin-bottom:10px}
|
|
.si{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
|
|
.sb{flex:1}
|
|
.sb .t{font-size:14px;font-weight:600;margin-bottom:4px}
|
|
.sb .i{font-size:12px;color:#666;line-height:1.8}
|
|
.sb .r{font-size:11px;color:#aaa;margin-top:2px}
|
|
.sg{background:#E6FFE8}.sr2{background:#FFECEC}.sbl{background:#E6F0FF}.so{background:#FFF8E6}
|
|
|
|
/* Score */
|
|
.sc{display:flex;align-items:center;gap:10px;padding:8px 0}
|
|
.sl{font-size:13px;width:40px;text-align:right}
|
|
.sb2{flex:1;height:8px;border-radius:4px;background:#f0ebe5;overflow:hidden}
|
|
.sf{height:100%;border-radius:4px;transition:width 0.4s ease}
|
|
.sv{font-size:13px;font-weight:600;width:32px}
|
|
|
|
/* Quote */
|
|
.qt{background:linear-gradient(135deg,#FFF8F0,#FFECEC);border-radius:12px;padding:16px;text-align:center;margin:10px 0}
|
|
.qt .t{font-size:15px;font-weight:600;color:var(--pri);font-style:italic}
|
|
.qt .e{font-size:12px;color:#888;margin-top:6px;line-height:1.6}
|
|
|
|
/* Organ stars */
|
|
.or{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f5f0eb}
|
|
.or:last-child{border-bottom:none}
|
|
.on{font-size:13px;width:30px}
|
|
.os2{color:var(--gold);font-size:14px;letter-spacing:2px}
|
|
.os2 .off{color:#ddd}
|
|
|
|
/* Meridian */
|
|
.mer{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:10px 0}
|
|
.mi{font-size:11px;padding:6px 8px;border-radius:8px;background:#fdf8f5;text-align:center}
|
|
.mi .t2{font-weight:600;font-size:12px}
|
|
.mi .o2{font-size:10px;color:#999;margin-top:1px}
|
|
|
|
/* WYLQ table */
|
|
.wlt{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}
|
|
.wlt td{padding:8px 6px;border-bottom:1px solid #f5f0eb}
|
|
.wlt td:first-child{color:#999;white-space:nowrap}
|
|
.wlt td:last-child{font-weight:500}
|
|
|
|
/* Interaction */
|
|
.inter{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
|
|
.iv{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500}
|
|
.iv.good{background:#E6FFE8;color:#388E3C}
|
|
.iv.bad{background:#FFECEC;color:var(--pri)}
|
|
.iv.neut{background:#f5f0eb;color:#888}
|
|
|
|
.hidden{display:none!important}
|
|
.tip{font-size:11px;color:#ccc;text-align:center;margin-top:8px}
|