.page-header{margin-bottom:2rem;text-align:center}
.page-header .section-copy{margin-left:auto;margin-right:auto}
.plan-hero{
padding:clamp(1.4rem, 3vw, 2.2rem);
background:linear-gradient(135deg, rgba(0,215,160,0.1), rgba(10,16,30,0.6) 40%, rgba(10,16,30,0.8) 100%), var(--bg-panel);
border:1px solid var(--glass-border);
border-radius:var(--radius-lg);
backdrop-filter:blur(14px) saturate(1.35);
-webkit-backdrop-filter:blur(14px) saturate(1.35);
box-shadow:var(--shadow);
text-align:center;
position:relative;
overflow:hidden;
}
.plan-hero::after{
content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;
background:radial-gradient(circle, rgba(0,215,160,0.16), transparent 68%);pointer-events:none;
}
.plan-goal-row{display:flex;align-items:baseline;justify-content:center;gap:.85rem;flex-wrap:wrap}
.plan-goal{font-size:clamp(2rem, 5vw, 3rem);font-weight:700;color:var(--accent-soft);letter-spacing:-.03em}
.plan-goal-en{font-size:.84rem;color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase}
.plan-date{margin-top:1.2rem;font-size:.92rem;color:var(--text-secondary);letter-spacing:.08em}
.plan-countdown{margin-top:1.4rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.plan-countdown-num{
font-size:clamp(4rem, 13vw, 7rem);font-weight:800;font-variant-numeric:tabular-nums;
background:linear-gradient(180deg, #ffffff 0%, var(--accent-soft) 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
line-height:1;letter-spacing:-.04em;
}
.plan-countdown-label{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}
.plan-progress-bar{margin-top:1.6rem;max-width:460px;margin-left:auto;margin-right:auto;text-align:left}
.plan-progress-track{height:6px;border-radius:999px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.04);overflow:hidden}
.plan-progress-fill{height:100%;width:0%;background:linear-gradient(90deg, var(--accent), var(--accent-soft));border-radius:999px;box-shadow:0 0 16px rgba(0,215,160,0.35);transition:width 1s ease}
.plan-progress-text{margin-top:.45rem;display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-secondary);letter-spacing:.08em}
.plan-progress-text span:first-child{color:var(--accent-soft);font-weight:800;font-variant-numeric:tabular-nums}

.todo-section{margin-top:2rem;width:100%;max-width:640px;margin-left:auto;margin-right:auto}
.todo-title{font-size:1rem;font-weight:700;letter-spacing:.08em;color:var(--text);margin-bottom:1rem;text-align:center;text-transform:uppercase}
.todo-list{display:flex;flex-direction:column;gap:.55rem;list-style:none}
.todo-item{
display:flex;align-items:center;gap:.9rem;padding:.85rem 1.05rem;transition:.25s ease;cursor:default;
}
.todo-item:hover{transform:translateX(3px);border-color:rgba(0,215,160,0.32);box-shadow:0 10px 28px rgba(0,0,0,0.24)}
.todo-num{font-size:.68rem;font-weight:700;color:var(--text-muted);min-width:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.todo-check{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(156,163,175,0.45);flex-shrink:0;transition:.2s ease;display:flex;align-items:center;justify-content:center}
.todo-check.checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px rgba(0,215,160,0.35)}
.todo-check.checked::after{content:'';display:block;width:5px;height:8px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-top:-1px}
.todo-text{font-size:.88rem;font-weight:400;color:var(--text);letter-spacing:.02em;line-height:1.45}
.todo-text.done{color:var(--text-muted);text-decoration:line-through}
.todo-text.empty{color:var(--text-muted);font-style:italic;font-weight:300}
@media(max-width:600px){
.plan-page{padding-top:1rem}
.plan-countdown-num{font-size:clamp(3.5rem, 18vw, 5rem)}
.todo-item{padding:.7rem .9rem}
}
