.htp-container{max-width:48rem;margin:0 auto;padding:2rem 1.25rem 4rem;color:var(--text-primary);background:linear-gradient(to bottom right,var(--gradient-from),var(--gradient-via),var(--gradient-to));min-height:100vh}.htp-hero{text-align:center;margin-bottom:3rem}.htp-hero-title{font-size:2rem;font-weight:800;line-height:1.2;margin:0 0 1rem}.htp-brand{color:var(--accent)}.htp-hero-subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.6;max-width:36rem;margin:0 auto}.htp-section{margin-bottom:2.5rem}.htp-section-title{font-size:1.4rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.htp-emoji{font-size:1.3rem}.htp-rules-list{list-style:none;counter-reset:rules;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.htp-rules-list li{counter-increment:rules;display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border-radius:.75rem;background:var(--bg-card);border:1px solid var(--border-color);line-height:1.5;color:var(--text-secondary)}.htp-rules-list li strong{color:var(--text-primary)}.htp-rules-list li:before{content:counter(rules);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--accent);color:var(--text-on-accent);font-weight:700;font-size:.85rem}.htp-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}.htp-card{padding:1.25rem;border-radius:.75rem;background:var(--bg-card);border:1px solid var(--border-color);transition:background .2s,border-color .2s}.htp-card:hover{background:var(--bg-card-hover);border-color:var(--border-color-strong)}.htp-card-emoji{font-size:1.5rem;display:block;margin-bottom:.5rem}.htp-card-title{font-size:1rem;font-weight:700;margin:0 0 .25rem}.htp-card-desc{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.htp-tips{display:flex;flex-direction:column;gap:1rem}.htp-tip{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.25rem;border-radius:.75rem;background:var(--bg-card);border:1px solid var(--border-color)}.htp-tip h3{margin:0 0 .25rem;font-size:1rem;font-weight:700}.htp-tip p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.htp-tip-number{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-weight:800;font-size:.9rem}.htp-grid-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem}.htp-grid-size-item{padding:1rem;border-radius:.75rem;background:var(--bg-card);border:1px solid var(--border-color);text-align:center}.htp-grid-size-label{display:block;font-size:1.5rem;font-weight:800;color:var(--accent);margin-bottom:.25rem}.htp-grid-size-item strong{display:block;font-size:.95rem;margin-bottom:.25rem}.htp-grid-size-item p{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.htp-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.htp-features-list li{font-size:.95rem;line-height:1.5;color:var(--text-secondary);padding:.6rem .75rem;border-radius:.5rem;transition:background .15s}.htp-features-list li:hover{background:var(--bg-card)}.htp-features-list li strong{color:var(--text-primary)}.htp-cta{text-align:center;padding:2.5rem 1.5rem;border-radius:1rem;background:var(--bg-card);border:1px solid var(--border-color);margin-top:1rem}.htp-cta-title{font-size:1.5rem;font-weight:800;margin:0 0 .5rem}.htp-cta-desc{color:var(--text-secondary);margin:0 0 1.5rem}.htp-cta-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border-radius:999px;background:var(--accent);color:var(--text-on-accent);font-weight:700;font-size:1rem;text-decoration:none;transition:background .2s,transform .1s;min-height:44px}.htp-cta-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.htp-cta-button:active{transform:translateY(0)}@media(min-width:768px){.htp-container{padding:3rem 2rem 5rem}.htp-hero-title{font-size:2.5rem}.htp-section-title{font-size:1.6rem}}@media(max-width:480px){.htp-container{padding:1.25rem 1rem 3rem}.htp-hero{margin-bottom:2rem}.htp-hero-title{font-size:1.5rem}.htp-hero-subtitle{font-size:.95rem}.htp-section-title{font-size:1.15rem}.htp-card-grid{grid-template-columns:1fr}.htp-grid-sizes{grid-template-columns:repeat(2,1fr)}.htp-rules-list li{padding:.75rem;font-size:.875rem}.htp-tip{padding:.75rem;gap:.75rem}.htp-tip h3{font-size:.9rem}.htp-tip p{font-size:.825rem}.htp-cta{padding:1.5rem 1rem}.htp-cta-title{font-size:1.25rem}.htp-cta-button{padding:.75rem 1.5rem;font-size:.9rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.htp-features-list li{font-size:.875rem;padding:.5rem}.htp-section{margin-bottom:1.75rem}}.htp-scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:1000;transition:width .1s ease-out;pointer-events:none}.htp-toc{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:2rem;position:sticky;top:8px;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.htp-toc-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem}.htp-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem .75rem}.htp-toc-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500;color:var(--accent);text-decoration:none;padding:.25rem 0;transition:opacity .15s ease}.htp-toc-link:hover{opacity:.75;text-decoration:underline}.htp-toc-emoji{font-size:.9rem}.htp-back-to-top{position:fixed;bottom:90px;right:20px;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);border:none;cursor:pointer;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;z-index:100;transition:opacity .2s ease,transform .2s ease;animation:htp-fade-in .2s ease}.htp-back-to-top:hover{transform:scale(1.1)}@keyframes htp-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
