/* ==== 极简风格 - 文字驱动，最少装饰 ==== */
.lp-hero{padding:48px 8px 32px;text-align:left;border-bottom:1px solid #e5e7eb;margin-bottom:32px;background:transparent}
.lp-hero-bg{display:none}
.lp-hero-content{max-width:640px}
.lp-hero-eyebrow{display:inline-block;font-size:12px;letter-spacing:1.5px;font-weight:600;color:#9ca3af;margin-bottom:14px;text-transform:uppercase}
.lp-hero-title{font-size:36px;font-weight:700;line-height:1.25;margin:0 0 12px;color:#111827;letter-spacing:-.5px}
.lp-hero-title br{display:none}
.lp-hero-desc{font-size:15px;color:#6b7280;margin:0;line-height:1.7}
@media(max-width:640px){.lp-hero{padding:32px 0 24px}.lp-hero-title{font-size:26px}}

/* ==== Inputs ==== */
.lp-inputs{padding:24px;margin-bottom:24px;border:1px solid #e5e7eb;box-shadow:none;background:white}
.lp-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
@media(max-width:640px){.lp-input-grid{grid-template-columns:1fr;gap:12px}}
.lp-field label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:8px}
.lp-field input[type="date"],.lp-field input[type="number"]{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;color:#111827;transition:border-color .15s;background:white}
.lp-field input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.lp-num-wrap{position:relative}
.lp-num-wrap .lp-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px;pointer-events:none}
.lp-calc-btn{padding:12px 24px;background:#111827;color:white;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s}
.lp-calc-btn:hover{background:#000}
.lp-calc-btn svg{transition:transform .2s}
.lp-calc-btn:hover svg{transform:translateX(2px)}

/* ==== Summary ==== */
.lp-summary{padding:32px 28px;margin-bottom:24px;background:white;border:1px solid #e5e7eb;box-shadow:none}
.lp-summary-main{display:flex;align-items:baseline;gap:24px;margin-bottom:20px;flex-wrap:wrap}
.lp-summary-percent{display:flex;align-items:baseline;line-height:1}
.lp-big-num{font-size:72px;font-weight:700;color:#111827;letter-spacing:-2px;background:none;-webkit-text-fill-color:#111827}
.lp-big-pct{font-size:32px;font-weight:600;color:#9ca3af;margin-left:4px}
.lp-summary-text{flex:1;min-width:180px;padding-bottom:6px}
.lp-summary-label{font-size:14px;color:#6b7280;font-weight:400;margin-bottom:2px}
.lp-summary-sub{font-size:13px;color:#9ca3af}
.lp-progress-bar-wrap{position:relative}
.lp-progress-bar{height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden}
.lp-progress-fill{height:100%;background:#111827;width:0;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.lp-progress-fill::after{display:none}
.lp-progress-meta{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:#9ca3af;letter-spacing:.5px}

/* ==== Weeks Grid ==== */
.lp-weeks{padding:28px;margin-bottom:24px;border:1px solid #e5e7eb;background:white;box-shadow:none}
.lp-weeks-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.lp-weeks h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}
.lp-weeks-desc{margin:0;font-size:13px;color:#9ca3af}
.lp-weeks-legend{display:flex;gap:14px;font-size:12px;color:#6b7280}
.lp-legend-item{display:flex;align-items:center;gap:6px}
.lp-dot{width:10px;height:10px;border-radius:2px;display:inline-block}
.lp-dot.lived{background:#111827}
.lp-dot.remaining{background:#e5e7eb}
.lp-weeks-grid{display:grid;grid-template-columns:repeat(52,1fr);gap:2px;padding:0}
.lp-week{aspect-ratio:1;border-radius:1px;background:#f3f4f6;transition:transform .15s}
.lp-week.lived{background:#111827;box-shadow:none}
.lp-week.current{background:#dc2626;animation:lpPulse 2s ease-in-out infinite;z-index:2;position:relative}
@keyframes lpPulse{0%,100%{opacity:1}50%{opacity:.5}}
.lp-week:hover{transform:scale(2);z-index:3;position:relative;background:#374151}
.lp-week.lived:hover{background:#000}
.lp-weeks-footer{margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6;font-size:13px;color:#6b7280;line-height:1.7}
.lp-weeks-footer strong{color:#111827;font-weight:600}
@media(max-width:640px){.lp-weeks-grid{grid-template-columns:repeat(26,1fr)}}

/* ==== Stats Grid - 极简数字罗列 ==== */
.lp-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-bottom:24px;border:1px solid #e5e7eb;background:white;border-radius:12px;overflow:hidden}
@media(min-width:640px){.lp-stats-grid{grid-template-columns:repeat(4,1fr)}}
.lp-stat{padding:24px 20px;background:white;border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;color:#111827}
@media(min-width:640px){.lp-stat:nth-child(4){border-right:none}.lp-stat:nth-child(n+3){border-bottom:none}}
@media(max-width:639px){.lp-stat:nth-child(2n){border-right:none}.lp-stat:nth-child(n+3){border-bottom:none}}
.lp-stat::before{display:none}
.lp-stat-value{display:block;font-size:26px;font-weight:700;margin-bottom:4px;color:#111827;letter-spacing:-.5px}
.lp-stat-label{display:block;font-size:12px;color:#9ca3af;font-weight:400}

/* ==== Breakdown - 表格化展示 ==== */
.lp-breakdown{padding:28px;margin-bottom:24px;border:1px solid #e5e7eb;background:white;box-shadow:none}
.lp-breakdown h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}
.lp-breakdown > p{margin:0 0 20px;font-size:13px;color:#9ca3af}
.lp-breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
@media(min-width:640px){.lp-breakdown-grid{grid-template-columns:repeat(4,1fr)}}
.lp-break-item{padding:16px;background:transparent;border:none;border-radius:0;text-align:left;border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;transition:background .15s}
.lp-break-item:hover{background:#fafafa;transform:none;box-shadow:none}
@media(min-width:640px){.lp-break-item:nth-child(4n){border-right:none}.lp-break-item:nth-last-child(-n+4){border-bottom:none}}
@media(max-width:639px){.lp-break-item:nth-child(2n){border-right:none}}
.lp-break-icon{display:none}
.lp-break-value{font-size:22px;font-weight:700;color:#111827;margin-bottom:2px;letter-spacing:-.5px}
.lp-break-label{font-size:12px;color:#9ca3af}

/* ==== Quote Card - 引文样式 ==== */
.lp-quote-card{padding:28px 32px;text-align:left;background:#fafafa;border:1px solid #e5e7eb;border-left:3px solid #111827;margin-bottom:24px;box-shadow:none;border-radius:8px}
.lp-quote-icon{display:none}
.lp-quote-card p{margin:0;font-size:15px;font-weight:400;color:#374151;line-height:1.8;font-style:normal;max-width:none}
.lp-quote-card p::before{content:'"';color:#9ca3af;margin-right:4px}
.lp-quote-card p::after{content:'"';color:#9ca3af;margin-left:4px}

/* ==== Target ==== */
.lp-target{padding:28px;margin-bottom:24px;border:1px solid #e5e7eb;background:white;box-shadow:none}
.lp-target h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}
.lp-target-desc{margin:0 0 20px;font-size:13px;color:#9ca3af}
.lp-target-input{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.lp-target-input input{flex:1;min-width:140px;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .15s}
.lp-target-input input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.lp-target-input button{padding:10px 20px;background:#111827;color:white;border:none;border-radius:8px;font-weight:500;cursor:pointer;font-size:14px;transition:background .15s}
.lp-target-input button:hover{background:#000}
.lp-target-list{display:flex;flex-direction:column;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}
.lp-target-list:empty{display:none}
.lp-target-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:white;border:none;border-bottom:1px solid #f3f4f6;border-radius:0;transition:background .15s}
.lp-target-item:last-child{border-bottom:none}
.lp-target-item:hover{background:#fafafa;transform:none}
.lp-target-info{flex:1}
.lp-target-name{font-weight:500;font-size:14px;margin-bottom:2px;color:#111827}
.lp-target-date{font-size:12px;color:#9ca3af}
.lp-target-days{font-size:20px;font-weight:700;color:#111827;background:none;-webkit-text-fill-color:#111827;letter-spacing:-.5px}
.lp-target-days small{font-size:12px;font-weight:400;color:#9ca3af;margin-left:2px;-webkit-text-fill-color:#9ca3af}

/* ==== Guide ==== */
.lp-guide{padding:28px;border:1px solid #e5e7eb;background:white;box-shadow:none}
.lp-guide h3{margin:0 0 14px;font-size:15px;font-weight:600;color:#111827}
.lp-guide-content{font-size:14px;line-height:1.8;color:#6b7280}
.lp-guide-content p{margin:0 0 12px}
.lp-guide-content p:last-child{margin-bottom:0}
.lp-guide-content strong{color:#111827;font-weight:600}

/* ==== Animation ==== */
.lp-result{animation:lpFadeIn .4s ease-out}
@keyframes lpFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ==== Dark mode ==== */
@media(prefers-color-scheme:dark){
.lp-hero{border-color:#374151}
.lp-hero-title{color:#f9fafb}
.lp-inputs,.lp-summary,.lp-weeks,.lp-breakdown,.lp-target,.lp-guide,.lp-stats-grid,.lp-stat,.lp-target-item,.lp-target-list{background:#111827;border-color:#374151}
.lp-big-num,.lp-stat-value,.lp-break-value,.lp-target-days,.lp-target-name,.lp-weeks h3,.lp-breakdown h3,.lp-target h3,.lp-guide h3,.lp-weeks-footer strong{color:#f9fafb;-webkit-text-fill-color:#f9fafb}
.lp-week{background:#374151}
.lp-week.lived{background:#f9fafb}
.lp-progress-bar{background:#374151}
.lp-progress-fill{background:#f9fafb}
.lp-quote-card{background:#1f2937;border-color:#374151;border-left-color:#f9fafb}
.lp-quote-card p{color:#d1d5db}
.lp-field input,.lp-target-input input{background:#1f2937;color:#f9fafb;border-color:#374151}
.lp-calc-btn,.lp-target-input button{background:#f9fafb;color:#111827}
.lp-calc-btn:hover,.lp-target-input button:hover{background:white}
.lp-stat,.lp-break-item{border-color:#1f2937}
.lp-target-item:hover,.lp-break-item:hover{background:#1f2937}
}
