:root{--ahpc-bg:#ffffff;--ahpc-border:#e6e6e6;--ahpc-text:#222;--ahpc-accent:#ff6a00;--ahpc-brand:#e64a19}.ahpc-wrap{background:#fff;border:1px solid var(--ahpc-border);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.06);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#222}.ahpc-header{display:flex;align-items:center;gap:16px;background:#fff;border-bottom:4px solid var(--ahpc-accent);padding:16px 20px 12px}.ahpc-brand{background:#e64a19;color:#fff;padding:6px 10px;border-radius:6px;font-weight:700;letter-spacing:.5px}.ahpc-title{font-size:24px;font-weight:700}.ahpc-grid{display:grid;grid-template-columns:1fr 380px;gap:28px;padding:20px}@media (max-width:980px){.ahpc-grid{grid-template-columns:1fr}}.ahpc-info-cards{display:flex;gap:18px;margin:4px 0 8px 8px}.ahpc-card{background:#fafafa;border:1px solid var(--ahpc-border);border-radius:8px;padding:8px 10px;width:140px;font-size:12px}.ahpc-card-title{font-weight:700;margin-bottom:4px}.ahpc-card-rows div{line-height:1.5}.ahpc-canvas-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1 / 1;max-width:560px}#ahpc-canvas{width:100%;height:auto;display:block}.ahpc-north-tag{position:absolute;right:12px;bottom:8px;font-size:11px;background:#eef6ff;border:1px solid #cfe2ff;color:#333;padding:6px 8px;border-radius:6px;line-height:1.1}.ahpc-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:10px 8px;font-size:14px}.ahpc-legend-row{display:flex;align-items:center;gap:8px}.legend-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid #999}.legend-direct{background:#2b67ca}.legend-parallel{background:#2ecc71}.legend-teardrop{background:#e09122}.legend-hold{background:#f2f490;border-color:#999}.legend-entry{background:repeating-linear-gradient(90deg,#d13737,#d13737 4px,#fff 4px,#fff 10px);border-color:#d13737}.ahpc-actions{display:flex;gap:12px;margin:10px 8px 0 8px}.ahpc-btn{background:#fff;border:1px solid var(--ahpc-border);padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600}.ahpc-btn:hover{border-color:#cdd3da}.ahpc-instructions{margin:12px 8px 0;background:#fcfcfc;border:1px dashed #e4e7eb;border-radius:8px;padding:6px 10px}.ahpc-form{background:#fff;border:1px solid var(--ahpc-border);border-radius:8px;padding:16px}.ahpc-field{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:12px;margin-bottom:12px}.ahpc-field label{color:#333;font-weight:600}.ahpc-number-inset{width:100px;margin-left:12px}.ahpc-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ahpc-btn-toggle{background:#f3f5f8;border:1px solid #d7dbe2;padding:8px 12px;border-radius:8px;cursor:pointer;min-width:88px;text-align:center;font-weight:600}.ahpc-btn-toggle.is-active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.ahpc-input-suffix{position:relative;display:inline-flex;align-items:center}.ahpc-input-suffix input{width:140px;padding-right:34px}.ahpc-input-suffix .suffix{position:absolute;right:8px;color:#6b7280;font-size:12px}.ahpc-form input[type="number"]{border:1px solid #d7dbe2;border-radius:8px;padding:8px 10px;outline:none}.ahpc-form input[type="number"]:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}.ahpc-subtitle{margin:16px 0 8px;color:#374151;font-size:16px;font-weight:700}.ahpc-results{margin-top:12px;padding-top:8px;border-top:1px solid #eef0f2;color:#111;font-size:15px}