.intro-section,.comparison-section,.which-plan-section,.pslf-box,.table-wrapper { background:var(--card); border:1px solid var(--border); border-radius:28px; box-shadow:var(--shadow-sm); }
.intro-section,.comparison-section,.which-plan-section,.pslf-box { padding:30px; }
.intro-section { max-width:940px; margin:0 auto 26px; }
.intro-section p { margin:0; font-size:1.12rem; line-height:1.78; color:var(--foreground-soft); }
.intro-section p + p { margin-top:16px; }
.section-label { max-width:940px; margin:0 auto 22px; padding:18px 20px; border-radius:22px; background:linear-gradient(180deg, rgba(27,40,56,.84) 0%, rgba(22,33,46,.88) 100%); border:1px solid color-mix(in srgb, var(--primary-soft) 14%, var(--border)); box-shadow:var(--shadow-sm); }
.section-label span { display:inline-flex; align-items:center; min-height:34px; padding:0 14px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.section-label p { margin:12px 0 0; font-size:1.02rem; line-height:1.72; color:var(--foreground-soft); max-width:760px; }
.plans-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:28px; }
.plan-card { position:relative; overflow:hidden; background:linear-gradient(180deg, rgba(32,47,65,.96) 0%, rgba(24,36,49,.98) 100%); border:1px solid color-mix(in srgb, var(--primary-soft) 14%, var(--border)); border-radius:30px; box-shadow:0 18px 34px rgba(0,0,0,.18); }
.plan-card::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--plan-line, var(--muted-strong)); }
.plan-header { padding:24px 24px 18px; background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,0)); border-bottom:1px solid var(--border); min-height:132px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; }
.plan-header h3 { margin:0; font-size:1.55rem; line-height:1.1; color:var(--primary); }
.plan-badge { display:inline-flex; align-items:center; min-height:32px; margin-top:14px; padding:0 12px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:.82rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.plan-official-link { display:inline-flex; align-items:center; margin-top:12px; color:var(--primary-soft); text-decoration:none; font-size:.88rem; font-weight:700; }
.plan-official-link:hover { color:var(--accent); text-decoration:underline; }
.plan-body { padding:22px 24px 24px; }
.plan-item { padding:12px 0; border-bottom:1px solid rgba(89,101,119,.1); }
.plan-item:last-child { padding-bottom:0; border-bottom:0; }
.plan-label { margin-bottom:4px; font-size:.79rem; letter-spacing:.08em; text-transform:uppercase; color:var(--foreground-muted); font-weight:700; }
.plan-value { font-size:1.06rem; line-height:1.68; color:var(--foreground); }
.status-note { display:block; padding:12px 14px; border-radius:16px; font-weight:700; }
.status-note-neutral { background:rgba(45, 89, 134, 0.08); border:1px solid rgba(45, 89, 134, 0.16); color:var(--primary); }
.status-note-caution { background:rgba(245, 158, 11, 0.12); border:1px solid rgba(245, 158, 11, 0.22); color:#9a6700; }
.status-note-alert { background:rgba(220, 38, 38, 0.10); border:1px solid rgba(220, 38, 38, 0.2); color:#b42318; }
.plan-card.inactive { opacity:.82; }
.plan-card.inactive .plan-badge { background:rgba(220, 38, 38, 0.12); color:var(--danger); }
.plan-card.blue { --plan-line:#6f879e; }
.plan-card.orange { --plan-line:#a57a46; }
.plan-card.purple { --plan-line:#7d7aa5; }
.plan-card.teal { --plan-line:#2f8b75; }
.plan-card.green { --plan-line:#4d7d67; }
.plan-card.gray { --plan-line:#7d8795; }
.plan-card.amber { --plan-line:#aa8450; }
.comparison-section { margin-bottom:28px; }
.comparison-section h2,.which-plan-section h2,.pslf-box h3 { margin:0 0 18px; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.08; color:var(--primary); }
.table-wrapper { overflow-x:auto; padding:8px; background:var(--background-elevated); }
table { width:100%; border-collapse:collapse; }
thead th { padding:14px 16px; border-bottom:1px solid var(--border); color:var(--foreground-muted); font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-align:left; }
tbody td { padding:16px; border-bottom:1px solid rgba(89,101,119,.1); color:var(--foreground-soft); font-size:1.02rem; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:rgba(255,255,255,.34); }
.plan-name-cell { display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border-radius:999px; background:var(--background-elevated); color:var(--primary); font-weight:700; }
.which-plan-section { margin-bottom:28px; }
.which-plan-note { margin:0 0 18px; font-size:1rem; line-height:1.72; color:var(--foreground-soft); }
.guidance-list { display:grid; gap:16px; margin-bottom:22px; }
.guidance-item { padding:18px 20px; border-radius:22px; background:rgba(255,255,255,.44); }
.guidance-item p { margin:0; font-size:1.08rem; line-height:1.72; color:var(--foreground-soft); }
.guidance-item strong { color:var(--primary); }
.pslf-box {
  background:
    radial-gradient(circle at top right, rgba(78,195,183,.14), transparent 28%),
    linear-gradient(180deg, rgba(28,42,58,.96), rgba(21,32,45,.98));
  border-color: color-mix(in srgb, var(--accent) 12%, var(--border));
}
.pslf-box p,.pslf-box li { font-size:1.06rem; line-height:1.74; color:var(--foreground-soft); }
.pslf-box ul { list-style:none; display:grid; gap:12px; padding:0; margin:0; }
.pslf-box li { position:relative; padding-left:24px; }
.pslf-box li::before { content:""; position:absolute; left:0; top:.7em; width:8px; height:8px; border-radius:999px; background:var(--accent); }
.highlight { color:color-mix(in srgb, var(--accent) 52%, white); font-weight:700; }
.footer-section h4 { margin:0 0 12px; }
@media (prefers-color-scheme: dark) {
  .table-wrapper,.guidance-item { background:rgba(255,255,255,.03); }
  .status-note-neutral { color:#cfe0f1; background:rgba(141, 176, 209, 0.12); border-color:rgba(141, 176, 209, 0.22); }
  .status-note-caution { color:#f2c66d; background:rgba(245, 158, 11, 0.16); border-color:rgba(245, 158, 11, 0.26); }
  .status-note-alert { color:#f2a3a3; background:rgba(220, 38, 38, 0.16); border-color:rgba(220, 38, 38, 0.28); }
}
@media (max-width: 1100px) { .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .plans-grid { grid-template-columns:1fr; } }
@media (max-width: 768px) { .intro-section,.comparison-section,.which-plan-section,.pslf-box { padding:22px; } .plan-header,.plan-body { padding-left:20px; padding-right:20px; } tbody td,thead th { padding-left:12px; padding-right:12px; } }
