:root{--color-primary: #1d4ed8;--color-primary-hover: #1e40af;--color-text: #1a1a1a;--color-text-secondary: #555;--color-text-muted: #6b7280;--color-border: #e5e5e5;--color-surface: #f5f5f5}*,*:before,*:after{box-sizing:border-box}.skip-link{position:absolute;top:-40px;left:0;background:#111;color:#fff;padding:.6rem 1rem;z-index:1000;font-size:.875rem;font-weight:600;border-radius:0 0 6px;transition:top .15s ease}.skip-link:focus{top:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;color:var(--color-text);background:#fff;-webkit-font-smoothing:antialiased}body{margin:0;line-height:1.7}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.3;margin-top:2rem;margin-bottom:.5rem;font-weight:700}h1{font-size:1.75rem;margin-top:0}h2{font-size:1.25rem}h3{font-size:1rem}p{margin-top:0;margin-bottom:1rem}ul,ol{margin-top:0;margin-bottom:1rem;padding-left:1.5rem}li{margin-bottom:.35rem}table{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:1.5rem}th,td{text-align:left;padding:.5rem .75rem;border:1px solid #e2e2e2;vertical-align:top}th{background:var(--color-surface);font-weight:600;white-space:nowrap}tr:nth-child(2n) td{background:#fafafa}.site-header{background:#111;color:#fff;padding:0 1.5rem;position:sticky;top:0;z-index:100}.site-header-inner{max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:52px}.site-logo{font-weight:700;font-size:1.0625rem;color:#fff;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.site-logo-icon{width:28px;height:28px;flex-shrink:0;border-radius:4px}.site-logo:hover{color:#d4d4d4;text-decoration:none}.header-actions{display:flex;align-items:center;gap:.75rem}.header-search{flex:1;max-width:340px;margin:0 1rem;position:relative;display:flex;align-items:center}.header-search-icon{position:absolute;left:10px;color:#888;pointer-events:none}.header-search-input{width:100%;height:32px;padding:0 .75rem 0 2rem;font-size:.8125rem;font-family:inherit;color:#fff;background:#1f1f1f;border:1px solid #3a3a3a;border-radius:6px;outline:none;-webkit-appearance:none;transition:border-color .15s,background .15s}.header-search-input::placeholder{color:#888}.header-search-input:focus{border-color:var(--color-primary);background:#181818}.header-search-link{display:none;align-items:center;justify-content:center;width:36px;height:36px;color:#d4d4d4;border-radius:4px}.header-search-link:hover{color:#fff;background:#ffffff1a;text-decoration:none}@media(max-width:639px){.header-search{display:none}.header-search-link{display:inline-flex}}.header-signin{font-size:.8125rem;font-weight:600;color:#d4d4d4;padding:.3rem .75rem;border:1px solid #444;border-radius:5px;text-decoration:none;transition:color .15s,border-color .15s}.header-signin:hover{color:#fff;border-color:#888;text-decoration:none}.header-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#2563eb;color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;letter-spacing:.03em;flex-shrink:0}.header-user{position:relative;display:flex}.header-user[hidden]{display:none}.header-avatar-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:50%}.header-avatar-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000021;padding:.375rem 0;z-index:150}.header-user-name{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid #f3f4f6;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.header-user-link{display:block;width:100%;text-align:left;padding:.45rem 1rem;font-size:.875rem;color:var(--color-text);background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none}.header-user-link:hover{background:var(--color-surface);text-decoration:none;color:var(--color-text)}.header-user-signout{color:#b91c1c;border-top:1px solid #f3f4f6;margin-top:.25rem}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:6px;border-radius:4px}.nav-toggle:hover{background:#ffffff1a}.hamburger-bar{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease;transform-origin:center}.nav-toggle.open .hamburger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open .hamburger-bar:nth-child(2){opacity:0}.nav-toggle.open .hamburger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:200;opacity:0;transition:opacity .25s ease}.nav-overlay.open{display:block;opacity:1}.site-drawer{position:fixed;top:0;left:0;height:100%;width:260px;background:#fff;z-index:300;padding:1.5rem 0;transform:translate(-100%);transition:transform .25s ease;display:flex;flex-direction:column;overflow-y:auto}@media(max-width:480px){.site-drawer{width:85%}}.site-drawer.open{transform:translate(0)}.drawer-logo{font-weight:700;font-size:1.0625rem;color:var(--color-text);letter-spacing:-.01em;padding:0 1.5rem 1.25rem;border-bottom:1px solid var(--color-border);margin-bottom:.75rem}.drawer-logo:hover{color:var(--color-text-secondary);text-decoration:none}.drawer-section-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:.75rem 1.5rem .25rem}.drawer-link{display:block;padding:.5rem 1.5rem;color:var(--color-text);font-size:.9375rem;text-decoration:none;transition:background .1s}.drawer-link:hover{background:var(--color-surface);color:var(--color-text);text-decoration:none}.drawer-group-summary{display:block;padding:.5rem 1.5rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;list-style:none;transition:background .1s}.drawer-group-summary::-webkit-details-marker{display:none}.drawer-group-summary:after{content:"›";float:right;color:#9ca3af;transition:transform .15s}.drawer-group[open] .drawer-group-summary:after{transform:rotate(90deg)}.drawer-group-summary:hover{background:var(--color-surface)}.drawer-link--nested{padding-left:2.25rem;font-size:.875rem}pre{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:1.25rem 1.5rem;overflow-x:auto;font-family:Menlo,Consolas,Monaco,monospace;font-size:.8125rem;line-height:1.65;margin:1.25rem 0;border:1px solid #1e293b}pre code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit;border:none}:not(pre)>code{font-family:Menlo,Consolas,Monaco,monospace;font-size:.875em;background:#f1f5f9;color:#1e293b;padding:.15em .4em;border-radius:4px;border:1px solid #e2e8f0}.site-main{max-width:860px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.site-main--wide{max-width:1200px}.site-footer{border-top:1px solid var(--color-border);padding:2.5rem 1.5rem 1.5rem;font-size:.8rem;color:var(--color-text-muted)}.site-footer-grid{max-width:860px;margin:0 auto 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}@media(max-width:640px){.site-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:380px){.site-footer-grid{grid-template-columns:1fr}}.site-footer-brand{display:block;font-weight:700;font-size:.9375rem;color:var(--color-text);margin-bottom:.5rem}.site-footer-tagline{font-size:.8rem;color:var(--color-text-muted);line-height:1.6;margin:0}.site-footer-col{display:flex;flex-direction:column;gap:.375rem}.site-footer-col-heading{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.25rem}.site-footer-link{font-size:.875rem;color:var(--color-text-muted);text-decoration:none}.site-footer-link:hover{color:var(--color-text);text-decoration:none}.site-footer-bottom{max-width:860px;margin:0 auto;padding-top:1.25rem;border-top:1px solid #f0f0f0;font-size:.75rem;color:var(--color-text-muted)}.site-footer-bottom a{color:var(--color-text-muted)}.site-footer-bottom a:hover{color:var(--color-text)}.pi-fav-btn{display:inline-flex;align-items:center;gap:.3em;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:5px;border-radius:4px;line-height:1;font-family:inherit;font-size:.8125rem;transition:color .15s;flex-shrink:0}.pi-fav-btn:hover,.pi-fav-btn--saved{color:#2563eb}.pi-fav-popover{position:absolute;z-index:999;width:230px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000021;font-size:.8125rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.pi-fav-hdr{padding:.5rem .875rem;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid #f3f4f6}.pi-fav-lists{padding:.25rem 0;max-height:180px;overflow-y:auto}.pi-fav-row{display:flex;align-items:center;gap:.5rem;padding:.375rem .875rem;cursor:pointer;color:#111827}.pi-fav-row:hover{background:#f9fafb}.pi-fav-row input[type=checkbox]{flex-shrink:0;cursor:pointer}.pi-fav-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-fav-row-ct{color:var(--color-text-muted);font-size:.75rem;flex-shrink:0}.pi-fav-sep{border-top:1px solid #f3f4f6}.pi-fav-footer{padding:.5rem .875rem .625rem}.pi-fav-new-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.8125rem;font-family:inherit;padding:0}.pi-fav-new-btn:hover{text-decoration:underline}.pi-fav-new-form{display:flex;gap:.375rem;margin-top:.5rem}.pi-fav-new-input{flex:1;min-width:0;padding:.3rem .5rem;border:1px solid #d1d5db;border-radius:5px;font-size:.8125rem;font-family:inherit}.pi-fav-new-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.pi-fav-create-btn{padding:.3rem .625rem;background:#2563eb;color:#fff;border:none;border-radius:5px;font-size:.8125rem;cursor:pointer;font-family:inherit;white-space:nowrap}.pi-fav-create-btn:hover{background:var(--color-primary)}.sr-wrap{display:flex;align-items:center}.sr-wrap>.search-result{flex:1;min-width:0}.sr-wrap>.pi-fav-btn{align-self:center;padding:6px 4px}.bundle-product-wrap{display:flex;align-items:center}.bundle-product-wrap>.bundle-product-link{flex:1;min-width:0}.bundle-product-wrap>.pi-fav-btn{align-self:center;padding:6px 4px}.product-save-btn{margin-bottom:1rem}.pi-fav-label{font-weight:500}
