.tp-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--hm-bg, #f7f4ed)}.tp-main{flex:1;width:100%}a.hm-btn-header,a.hm-footer-link-btn{text-decoration:none}.tp-bc{max-width:80rem;margin:0 auto;padding:1rem 1.25rem 0;font-size:.875rem;color:#0f172a8c}.tp-bc a{color:var(--hm-emerald, #0f766e);text-decoration:none}.tp-bc a:hover{text-decoration:underline}.tp-bc-sep{margin:0 .35rem;opacity:.5}.tp-index-hero{max-width:80rem;margin:0 auto;padding:2rem 1.25rem 1.5rem;text-align:center}.tp-index-hero h1{font-family:var(--hm-font-display, ui-serif, Georgia, serif);font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;color:#0f172a;margin:0 0 .75rem;letter-spacing:-.02em}.tp-index-lead{margin:0 auto;max-width:42rem;font-size:1.0625rem;line-height:1.65;color:#0f172ab8}.tp-grid{max-width:80rem;margin:0 auto;padding:1.5rem 1.25rem 4rem;display:grid;gap:1.25rem;grid-template-columns:1fr;align-items:stretch}@media(min-width:640px){.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tp-card{display:flex;flex-direction:column;background:#fff;border-radius:1rem;overflow:hidden;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 28px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease;text-decoration:none;color:inherit}.tp-grid .tp-card{display:grid;grid-template-rows:1fr auto;min-height:auto}.tp-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px #0f172a1a}.tp-card-img-wrap{background:linear-gradient(160deg,#ecf4f1,#f8f6f0);display:flex;align-items:center;justify-content:center;padding:1rem}.tp-grid .tp-card-img-wrap{min-height:0;height:100%}.tp-card-img{max-width:100%;max-height:100%;object-fit:contain}.tp-card-img--placeholder{width:5rem;height:5rem;border-radius:1rem;background:#0f766e1f}.tp-card-body{padding:1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.tp-grid .tp-card-body{min-height:0;overflow:hidden;box-sizing:border-box;padding:.75rem 1rem .85rem;gap:.35rem}.tp-grid .tp-card-code{display:none}.tp-grid .tp-card-title{font-size:1.0625rem}.tp-grid .tp-card-intro{flex:none;font-size:.8125rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-card-detail-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;color:#0f766e;text-decoration:none;margin-top:.15rem}.tp-card-detail-link:hover{text-decoration:underline}.tp-card-detail-link:after{content:"→"}.tp-card-code{display:inline-block;align-self:flex-start;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:.375rem;background:#0f766e1f;color:#0f766e}.tp-card-title{font-size:1.125rem;font-weight:700;margin:0;color:#0f172a}.tp-card-intro{margin:0;font-size:.875rem;line-height:1.55;color:#0f172aa6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tp-detail{max-width:80rem;margin:0 auto;padding:0 1.25rem 4rem}.tp-detail-hero{display:grid;gap:2rem;padding-top:1.5rem;padding-bottom:2.5rem}@media(min-width:900px){.tp-detail-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}}.tp-detail-visual{position:sticky;top:5.5rem}.tp-detail-img-wrap{border-radius:1.25rem;overflow:hidden;background:linear-gradient(165deg,#e8f3ef,#faf8f3);border:1px solid rgba(15,23,42,.06);box-shadow:0 12px 40px #0f172a14;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:1.5rem}.tp-detail-img{max-width:100%;max-height:100%;object-fit:contain}.tp-detail-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.tp-pill-code{font-size:.75rem;font-weight:800;letter-spacing:.05em;padding:.35rem .65rem;border-radius:.5rem;background:#0f172a;color:#fff}.tp-pill-tag{font-size:.75rem;font-weight:600;padding:.35rem .65rem;border-radius:.5rem;background:#0f766e24;color:#0f766e}.tp-pill-tag--muted{background:#94a3b840;color:#475569}.tp-detail h1{font-family:var(--hm-font-display, ui-serif, Georgia, serif);font-size:clamp(1.65rem,3.5vw,2.25rem);font-weight:700;margin:0 0 .5rem;color:#0f172a;letter-spacing:-.02em}.tp-detail-tagline{font-size:1.125rem;font-weight:500;color:#0f172ac7;margin:0 0 1.5rem;line-height:1.5}.tp-section-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 .75rem}.tp-prose{font-size:1rem;line-height:1.75;color:#0f172ad1;margin:0;white-space:pre-wrap}.tp-rank-box{margin-top:2rem;padding:1.25rem 1.35rem;border-radius:1rem;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 22px #0f172a0d}.tp-rank-box p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.65;color:#0f172abf}.tp-rank-box a{font-weight:600;color:#0f766e;text-decoration:none}.tp-rank-box a:hover{text-decoration:underline}.tp-dim-head{margin-top:2.75rem;padding-top:2rem;border-top:1px solid rgba(15,23,42,.08)}.tp-dim-head h2{font-size:1.25rem;font-weight:700;margin:0 0 .35rem;color:#0f172a}.tp-dim-sub{margin:0 0 1.25rem;font-size:.9375rem;color:#0f172a9e}.tp-dim-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr))}.tp-dim-group{display:contents}.tp-dim-model{grid-column:1 / -1;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#0f172a73;margin:.5rem 0 .25rem}.tp-dim-model:first-child{margin-top:0}.tp-dim-card{background:#fff;border-radius:.875rem;border:1px solid rgba(15,23,42,.07);padding:1rem 1.1rem;box-shadow:0 4px 16px #0f172a0a}.tp-dim-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.tp-dim-name{font-size:.9375rem;font-weight:700;color:#0f172a}.tp-level{font-size:.6875rem;font-weight:800;letter-spacing:.12em;padding:.3rem .45rem;border-radius:.35rem}.tp-level--h{background:#10b9812e;color:#047857}.tp-level--m{background:#f59e0b38;color:#b45309}.tp-level--l{background:#64748b33;color:#334155}.tp-dim-card p{margin:0;font-size:.875rem;line-height:1.55;color:#0f172ab8}.tp-special-note{margin:0;padding:1.25rem;border-radius:.875rem;background:#fbbf241f;border:1px solid rgba(245,158,11,.25);font-size:.9375rem;line-height:1.6;color:#78350f}.tp-related{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(15,23,42,.08)}.tp-related h2{font-size:1.125rem;font-weight:700;margin:0 0 1rem;color:#0f172a}.tp-related-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.tp-related-card{display:block;text-decoration:none;color:inherit;border-radius:.875rem;overflow:hidden;background:#fff;border:1px solid rgba(15,23,42,.07);box-shadow:0 4px 18px #0f172a0d;transition:transform .15s ease,box-shadow .15s ease}.tp-related-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a17}.tp-related-card .tp-card-img-wrap{aspect-ratio:16 / 10;height:auto}.tp-related-card .tp-card-body{padding:.85rem 1rem 1rem}.tp-cta-row{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.tp-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;border-radius:999px;font-weight:600;font-size:1rem;background:#0f172a;color:#fff;text-decoration:none;box-shadow:0 4px 14px #0f172a1f;transition:transform .15s ease,background .15s ease}.tp-cta:hover{transform:translateY(-1px);background:var(--hm-emerald-hover, #115e59)}@media(max-width:767px){.tp-index-hero{padding:1.5rem .75rem 1rem}.tp-index-hero h1{font-size:clamp(1.5rem,5vw,2rem)}.tp-index-lead{font-size:.9375rem}.tp-grid{grid-template-columns:1fr;padding:1rem .75rem 3rem;gap:1rem}.tp-card{display:grid!important;grid-template-rows:1fr auto}.tp-bc{padding:.75rem .75rem 0;font-size:.8125rem}.tp-detail{padding:0 .75rem 3rem}.tp-detail-hero{gap:1.25rem;padding-top:1rem;padding-bottom:1.75rem}.tp-detail-visual{position:static}.tp-detail-img-wrap{aspect-ratio:auto;max-height:45vh}.tp-detail h1{font-size:clamp(1.375rem,5vw,1.75rem)}.tp-detail-tagline{font-size:1rem}.tp-dim-grid,.tp-related-grid{grid-template-columns:1fr}.tp-cta-row{flex-direction:column}.tp-cta{width:100%;text-align:center}.tp-prose{font-size:.9375rem}.tp-rank-box{padding:1rem}.tp-special-note{padding:1rem;font-size:.875rem}}@media(max-width:600px){.tp-index-hero{padding:1.25rem .625rem .75rem}.tp-grid{padding:.75rem .625rem 2.5rem}.tp-detail{padding:0 .625rem 2.5rem}.tp-card-img-wrap{padding:.75rem}.tp-card-body{padding:.75rem .875rem 1rem}.tp-card-title{font-size:1rem}.tp-card-intro{font-size:.8125rem}.tp-pill-code,.tp-pill-tag,.tp-pill-tag--muted{font-size:.6875rem}.tp-dim-head h2{font-size:1.125rem}.tp-dim-card{padding:.875rem 1rem}.tp-dim-name{font-size:.875rem}.tp-dim-card p{font-size:.8125rem}}
