.hpp-shell{--hpp-line:color-mix(in srgb,var(--pink) 28%,var(--border));--hpp-soft:color-mix(in srgb,var(--pink) 7%,var(--bg-card));--hpp-green:color-mix(in srgb,var(--green) 8%,var(--bg-card));--hpp-on-accent:var(--bg-main)}.hpp-hero,.hpp-detail-hero{overflow:hidden;border-color:var(--hpp-line) !important;background:radial-gradient(circle at 94% 8%,color-mix(in srgb,var(--yellow) 18%,transparent),transparent 30%),linear-gradient(125deg,var(--hpp-soft),var(--hpp-green)) !important}.hpp-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:94px;padding:clamp(14px,2.4vw,22px) !important}.hpp-hero h2,.hpp-detail-title h2{margin:3px 0 4px;font-size:clamp(1.08rem,2.2vw,1.4rem)}.hpp-hero p,.hpp-detail-title p,.hpp-labs p,.hpp-section-head p{margin:0;color:var(--text-secondary);font-size:.79rem;line-height:1.42}.hpp-kicker{color:var(--pink);font-size:.67rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.hpp-library-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:10px;padding:11px 13px !important}.hpp-search input{width:100%}.hpp-archive-toggle{margin:0 !important;white-space:nowrap}.hpp-count{color:var(--text-secondary);font-size:.72rem;font-weight:800;white-space:nowrap}.hpp-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.hpp-plan-card{min-width:0;border-top:4px solid var(--pink) !important}.hpp-plan-card.is-archived{opacity:.72;border-top-color:var(--text-muted) !important}.hpp-plan-copy,.hpp-detail-copy,.hpp-area-body{min-width:0}.hpp-plan-title,.hpp-detail-title,.hpp-section-head,.hpp-assignment-head,.hpp-detail-bar,.hpp-area-title,.hpp-area-actions,.hpp-archived-row{display:flex;align-items:center;justify-content:space-between;gap:9px}.hpp-plan-title{align-items:flex-start}.hpp-plan-title h3{min-width:0;margin:0 !important;color:var(--text-primary) !important;overflow-wrap:anywhere}.hpp-plan-copy>p{margin:4px 0 8px;color:var(--text-secondary);font-size:.74rem}.hpp-facts{display:flex;flex-wrap:wrap;gap:5px 9px;color:var(--text-secondary);font-size:.67rem;font-weight:700}.hpp-plan-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.hpp-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border-color:var(--hpp-line) !important;background:linear-gradient(145deg,var(--hpp-soft),var(--bg-card)) !important}.hpp-empty>span{font-size:1.7rem}.hpp-empty h3{margin:0 !important}.hpp-empty p{max-width:520px;margin:0;color:var(--text-secondary)}.hpp-empty.is-small{min-height:150px}.hpp-detail-bar{align-items:flex-start;margin-bottom:var(--sp-3)}.hpp-detail-bar>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.hpp-detail-title{align-items:flex-start}.hpp-detail-copy>.hpp-facts{margin-top:10px}.hpp-ribbon{display:grid;grid-template-columns:minmax(170px,.34fr) minmax(0,1fr);gap:var(--sp-3);align-items:center;border-left:5px solid var(--green) !important}.hpp-ribbon h3,.hpp-labs h3,.hpp-section-head h3{margin:2px 0 0 !important;color:var(--text-primary) !important}.hpp-ribbon-list{display:flex;flex-wrap:wrap;gap:6px}.hpp-ribbon-token{display:inline-flex;align-items:center;min-height:29px;padding:4px 9px;border:1.5px solid color-mix(in srgb,var(--green) 30%,var(--border));border-radius:var(--r-pill);background:var(--hpp-green);color:var(--text-primary);font-size:.69rem;font-weight:800}.hpp-ribbon-token>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hpp-ribbon-token>button{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:900}.hpp-none{color:var(--text-muted);font-size:.68rem;font-style:italic}.hpp-labs{display:grid;grid-template-columns:minmax(210px,.42fr) minmax(0,1fr);gap:var(--sp-4);align-items:center;border-color:color-mix(in srgb,var(--green) 34%,var(--border)) !important}.hpp-lab-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.hpp-composition .hpp-section-head{align-items:flex-start;margin-bottom:11px}.hpp-composition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hpp-composition-grid>div{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-elevated)}.hpp-composition-grid span,.hpp-composition-grid b{display:block;overflow-wrap:anywhere}.hpp-composition-grid span{color:var(--text-secondary);font-size:.64rem;font-weight:800}.hpp-composition-grid b{margin-top:4px;font-size:.76rem}.hpp-composition-notes{margin:9px 0 0;padding:9px 11px;border-left:3px solid var(--pink);background:var(--hpp-soft);color:var(--text-secondary);font-size:.76rem}.hpp-areas>.hpp-section-head{align-items:flex-start;padding:13px 14px !important}.hpp-area-list{display:grid;gap:var(--sp-3)}.hpp-area-card{border-left:5px solid var(--pink) !important}.hpp-area-title{justify-content:flex-start;align-items:flex-start}.hpp-area-number{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pink);color:var(--hpp-on-accent);font-size:.72rem;font-weight:900}.hpp-area-title h4{margin:0;color:var(--text-primary);font-size:.92rem}.hpp-area-title p{margin:2px 0 0;color:var(--text-secondary);font-size:.67rem}.hpp-area-notes{margin:8px 0;padding:7px 9px;border-radius:var(--r-sm);background:var(--hpp-soft);color:var(--text-secondary);font-size:.73rem}.hpp-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.hpp-assignment{min-width:0;padding:8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-elevated)}.hpp-assignment-head b{min-width:0;font-size:.68rem}.hpp-assignment-head .mini{flex:0 0 auto}.hpp-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.hpp-chips .chip{max-width:100%;gap:5px;font-size:.64rem}.hpp-chips .chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hpp-chips .chip>button{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:900}.hpp-area-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}.hpp-area-actions .hpp-doc-count{margin-left:auto;color:var(--text-secondary);font-size:.68rem;font-weight:800}.hpp-archived-areas summary{cursor:pointer;color:var(--text-secondary);font-size:.76rem;font-weight:800}.hpp-archived-areas>div{margin-top:8px}.hpp-archived-row{padding:6px 0;border-top:1px dashed var(--border)}.hpp-visual{padding:clamp(12px,2.4vw,20px) !important;border:3px solid color-mix(in srgb,var(--pink) 68%,var(--border)) !important;background:var(--bg-card) !important;color:var(--text-primary)}.hpp-visual>.hpp-section-head{align-items:flex-start;margin-bottom:12px}.hpp-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:min(100%,310px)}.hpp-visual .btn,.hpp-plan-actions-fold .btn,.hpp-major-fold .btn{min-height:42px;border-width:2px;border-color:color-mix(in srgb,var(--pink) 62%,var(--border))}.hpp-mode .btn{background:var(--bg-card);color:var(--text-primary);white-space:normal}.hpp-mode .btn.is-active,.hpp-visual .btn-primary{background:var(--pink);color:var(--hpp-on-accent)}.hpp-canvas-frame{position:relative;width:min(100%,760px);margin:0 auto;overflow:hidden;border:3px solid var(--pink);border-radius:var(--r-lg);background:var(--bg-main);box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--pink) 7%,transparent)}.hpp-canvas{display:block;width:100%;aspect-ratio:1;overflow:visible;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.hpp-canvas[data-hpp-drawing="true"]{cursor:crosshair;touch-action:none}.hpp-canvas-paper{fill:var(--bg-card);stroke:color-mix(in srgb,var(--pink) 22%,var(--border));stroke-width:8}.hpp-region{cursor:pointer;outline:none}.hpp-region rect,.hpp-region polygon{fill:color-mix(in srgb,var(--hpp-region-colour,var(--pink)) 32%,var(--bg-card));stroke:var(--hpp-region-colour,var(--pink));stroke-width:12}.hpp-region polyline{fill:none;stroke:var(--hpp-region-colour,var(--pink));stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.hpp-region text{fill:var(--text-primary);font-family:var(--font-body);font-size:42px;font-weight:900;paint-order:stroke;stroke:var(--bg-card);stroke-width:10px}.hpp-region.is-selected rect,.hpp-region.is-selected polygon,.hpp-region.is-selected polyline,.hpp-region:focus rect,.hpp-region:focus polygon,.hpp-region:focus polyline{stroke:var(--pink);stroke-width:24}.hpp-draft{fill:none;stroke:var(--pink);stroke-width:18;stroke-dasharray:22 14;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.hpp-canvas-empty{position:absolute;inset:50% auto auto 50%;display:grid;width:min(78%,360px);gap:4px;color:var(--text-primary);text-align:center;pointer-events:none;transform:translate(-50%,-50%)}.hpp-canvas-empty>span{color:var(--text-secondary);font-size:.76rem;line-height:1.4}.hpp-draw-bar,.hpp-selected-region,.hpp-quick-actions,.hpp-fold-actions,.hpp-plan-actions-fold>div,.hpp-inline-fold>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.hpp-draw-bar{justify-content:center;margin-top:11px}.hpp-draw-bar>span{color:var(--text-secondary);font-size:.76rem;font-weight:700}.hpp-selected-region{justify-content:space-between;margin-top:12px;padding:11px;border:2px solid color-mix(in srgb,var(--pink) 52%,var(--border));border-radius:var(--r-md);background:var(--hpp-soft)}.hpp-selected-region b{display:block;margin-top:2px;color:var(--text-primary)}.hpp-quick-actions{justify-content:flex-end}.hpp-detail-fold,.hpp-plan-actions-fold,.hpp-inline-fold{position:relative}.hpp-detail-fold{margin-top:10px}.hpp-detail-fold>summary,.hpp-plan-actions-fold>summary,.hpp-inline-fold>summary,.hpp-major-fold>summary{min-height:42px;padding:10px 12px;border:2px solid color-mix(in srgb,var(--pink) 52%,var(--border));border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-size:.78rem;font-weight:900}.hpp-detail-fold>.hpp-fold-actions,.hpp-plan-actions-fold>div,.hpp-inline-fold>div{margin-top:8px}.hpp-nudge{display:grid;grid-template-columns:repeat(4,44px);gap:5px}.hpp-nudge .btn{min-width:44px;padding-inline:0;font-size:1rem}.hpp-major-fold{padding:8px !important;border:2px solid color-mix(in srgb,var(--pink) 50%,var(--border)) !important;background:var(--bg-card) !important}.hpp-major-fold>summary{border:0;background:var(--hpp-soft)}.hpp-major-fold>div{margin-top:8px}.hpp-plan-actions-fold>div{justify-content:flex-end}.hpp-inline-fold{margin-left:auto}.hpp-inline-fold>div{justify-content:flex-end;width:100%}[data-theme="light"] .hpp-visual,[data-theme="light"] .hpp-major-fold,[data-theme="light"] .hpp-mode .btn:not(.is-active),[data-theme="light"] .hpp-detail-fold>summary,[data-theme="light"] .hpp-plan-actions-fold>summary,[data-theme="light"] .hpp-inline-fold>summary{background:var(--bg-card) !important;color:var(--text-primary) !important}.hpp-modal.modal{width:min(760px,calc(94vw / var(--np-ui-scale,1)));max-width:760px}.hpp-modal .modal-acc-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hpp-modal .modal-acc-body .fld{min-width:0;margin:0}.hpp-modal .modal-acc-body .fld:has(textarea){grid-column:1 / -1}.hpp-inv-options{display:grid;gap:6px;max-height:360px;margin-bottom:10px;overflow:auto}.hpp-inv-option{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--bg-card);cursor:pointer}.hpp-inv-option:hover{border-color:var(--pink);background:var(--hpp-soft)}.hpp-inv-option input{width:18px;height:18px;accent-color:var(--pink)}.hpp-inv-option span,.hpp-inv-option b,.hpp-inv-option small{display:block}.hpp-inv-option span{min-width:0}.hpp-inv-option b{font-size:.76rem;overflow-wrap:anywhere}.hpp-inv-option small{margin-top:2px;color:var(--text-secondary);font-size:.64rem}.hpp-picker-empty{padding:22px;border:1.5px dashed var(--border);border-radius:var(--r-sm);color:var(--text-secondary);text-align:center}@media (max-width:820px){.hpp-plan-grid,.hpp-assignment-grid{grid-template-columns:1fr}.hpp-composition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hpp-ribbon,.hpp-labs{grid-template-columns:1fr}.hpp-lab-actions{justify-content:flex-start}}@media (max-width:560px){.hpp-hero,.hpp-detail-bar,.hpp-section-head{align-items:stretch;flex-direction:column}.hpp-hero>.btn,.hpp-section-head>.btn{width:100%}.hpp-library-tools{grid-template-columns:1fr}.hpp-composition-grid{grid-template-columns:1fr}.hpp-detail-bar>div{justify-content:flex-start}.hpp-modal .modal-acc-body{grid-template-columns:1fr}.hpp-modal .modal-acc-body .fld:has(textarea){grid-column:auto}.hpp-mode{width:100%;min-width:0}.hpp-canvas-frame{border-width:2px;border-radius:var(--r-md)}.hpp-visual .btn,.hpp-plan-actions-fold .btn,.hpp-major-fold .btn{min-height:44px}.hpp-draw-bar,.hpp-selected-region{align-items:stretch;flex-direction:column}.hpp-draw-bar>.btn,.hpp-quick-actions>.btn{width:100%}.hpp-quick-actions{display:grid;grid-template-columns:1fr}.hpp-inline-fold{width:100%;margin-left:0}.hpp-plan-actions-fold>div,.hpp-inline-fold>div{justify-content:stretch}}@media (prefers-reduced-motion:reduce){.hpp-shell *,.hpp-shell *::before,.hpp-shell *::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important}}.hpp-legend-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hpp-legend-list label{display:flex;align-items:start;gap:8px;cursor:pointer}.hpp-legend-list small{display:block;color:var(--text-secondary)}.hpp-legend progress{width:100%;accent-color:var(--green)}.hpp-underlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.hpp-canvas{position:relative}.hpp-canvas[data-hpp-underlay="true"] .hpp-canvas-paper{fill:transparent}