.hs-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--font-size-xs);letter-spacing:.02em;white-space:nowrap;padding:3px 10px;font-weight:650;line-height:1.4;display:inline-flex}.hs-badge--neutral{background:var(--color-primary-soft);color:var(--color-on-primary-soft)}.hs-badge--info{background:var(--color-badge-marking);color:var(--color-badge-marking-text)}.hs-badge--success{background:var(--color-success-soft);color:var(--color-success)}.hs-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}:root[data-contrast=more] .hs-badge{border:1px solid}.hs-badge__icon{display:inline-flex}.hs-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);min-width:var(--touch-target);padding:0 var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--font-size-md);letter-spacing:.005em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);border:1.5px solid #0000;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.hs-button:active:not(:disabled){transform:translateY(var(--press-shift)) scale(var(--press-scale))}.hs-button--lg{min-height:56px;padding:0 var(--space-6);font-size:1.0625rem}.hs-button--full{width:100%}.hs-button--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:inset 0 -3px 0 var(--color-primary-edge), var(--shadow-1)}.hs-button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.hs-button--primary:active:not(:disabled){box-shadow:inset 0 -1px 0 var(--color-primary-edge)}.hs-button--secondary{background:var(--color-card);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-1)}.hs-button--ghost{color:var(--color-text);background:0 0}.hs-button--ghost:hover:not(:disabled){background:var(--color-primary-soft)}.hs-button--danger{background:var(--color-card);color:var(--color-danger);border-color:var(--color-danger)}.hs-button--danger .hs-button__icon{color:var(--color-danger)}.hs-button--secondary:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.hs-button--danger:hover:not(:disabled){background:var(--color-danger-soft)}.hs-button:disabled{cursor:not-allowed;background:var(--color-container);color:var(--color-text-muted);box-shadow:none;border-color:#0000}.hs-button--ghost:disabled{background:0 0}.hs-button--loading:disabled{cursor:progress}.hs-button__icon{flex:none;display:inline-flex}.hs-button__spinner{animation:.9s linear infinite hs-spin}@keyframes hs-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hs-button__spinner{animation-duration:3s}}:root[data-contrast=more] .hs-button--secondary,:root[data-contrast=more] .hs-button--primary{border-color:currentColor}.hs-card{gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-5);border-radius:var(--radius-lg);color:var(--color-text);flex-direction:column;display:flex}.hs-card--muted{background:var(--color-card);box-shadow:var(--shadow-2)}.hs-card--plain{background:var(--color-card);border:1px solid var(--color-border)}:root[data-contrast=more] .hs-card--muted{border:1px solid var(--color-border)}.hs-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:28px;display:flex}.hs-card__title{font-size:1.0625rem;font-weight:var(--font-weight-display);margin:0;line-height:1.3}.hs-card__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.hs-swatches{justify-content:space-between;gap:var(--space-2);display:flex}.hs-swatch{width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.hs-swatch:disabled{cursor:not-allowed;opacity:.5}.hs-swatch__dot{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.hs-swatch--checked .hs-swatch__dot{box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-text)}.hs-swatch__check{color:var(--color-on-primary);filter:drop-shadow(0 0 1px var(--color-primary))}.hs-swatch__dot--blue{background:var(--marker-blue)}.hs-swatch__dot--purple{background:var(--marker-purple)}.hs-swatch__dot--green{background:var(--marker-green)}.hs-swatch__dot--red{background:var(--marker-red)}.hs-swatch__dot--yellow{background:var(--marker-yellow)}.hs-icon-button{min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.hs-icon-button:active:not(:disabled){transform:scale(calc(var(--press-scale) - .03))}.hs-icon-button--lg{min-width:56px;min-height:56px}.hs-icon-button--secondary{background:var(--color-card);border-color:var(--color-border);box-shadow:var(--shadow-1)}.hs-icon-button--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:inset 0 -3px 0 var(--color-primary-edge), var(--shadow-1)}.hs-icon-button--ghost:hover:not(:disabled),.hs-icon-button--secondary:hover:not(:disabled){background:var(--color-primary-soft)}.hs-icon-button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.hs-icon-button:disabled{cursor:not-allowed;color:var(--color-text-muted);opacity:.6}.hs-icon-button--labelled{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);flex-direction:column;gap:2px}.hs-icon-button__icon{display:inline-flex}.hs-icon-button__label{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.2}.hs-dialog-layer{z-index:100;padding:calc(env(safe-area-inset-top) + var(--space-4)) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hs-dialog__backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:hs-dialog-fade var(--motion-base) var(--ease-out);position:absolute;inset:0}.hs-dialog{gap:var(--space-3);width:100%;max-width:480px;max-height:100%;padding:var(--space-5) var(--space-5) var(--space-5);border-radius:var(--radius-xl);background:var(--color-raised);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-3);animation:hs-dialog-rise var(--motion-slow) var(--ease-spring);flex-direction:column;display:flex;position:relative;overflow-y:auto}.hs-dialog:focus-visible{outline-offset:-3px}.hs-dialog__header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-right:calc(var(--space-2) * -1);display:flex}.hs-dialog__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-display);margin:0;line-height:1.3}.hs-dialog__content{gap:var(--space-3);flex-direction:column;display:flex}.hs-dialog__description{color:var(--color-text-muted);margin:0}.hs-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap-reverse;display:flex}@keyframes hs-dialog-fade{0%{opacity:0}}@keyframes hs-dialog-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}}@media (prefers-reduced-motion:reduce){.hs-dialog,.hs-dialog__backdrop{animation:none}}@media (width<=599px){.hs-dialog-layer{padding-inline:var(--space-2);align-items:flex-end}.hs-dialog{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-lg) var(--radius-lg)}.hs-dialog__actions>*{flex:auto}}.hs-field{flex-direction:column;gap:6px;min-width:0;display:flex}.hs-field__label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.hs-field__hint,.hs-field__error{font-size:var(--font-size-sm);margin:0;line-height:1.4}.hs-field__hint{color:var(--color-text-muted)}.hs-field__error{align-items:flex-start;gap:var(--space-1);color:var(--color-text);font-weight:500;display:flex}.hs-field__error-icon{color:var(--color-danger);flex:none;margin-top:1px}.hs-input{width:100%;min-height:48px;padding:var(--space-2) var(--space-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text);font-size:var(--font-size-md);transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.hs-input::placeholder{color:var(--color-text-muted)}.hs-input:hover:not(:disabled){border-color:var(--color-text)}.hs-input:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus);outline:none}.hs-input:disabled{background:var(--color-container);color:var(--color-text-muted);cursor:not-allowed}.hs-input[aria-invalid=true]{border-color:var(--color-danger);border-width:2px}.hs-input--multiline{border-radius:var(--radius-md);resize:vertical;min-height:96px;line-height:1.45}.hs-dropzone{gap:var(--space-1);flex-direction:column;display:flex}.hs-dropzone__button{width:100%;min-height:112px;padding:var(--space-4);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);text-align:center;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), transform var(--motion-base) var(--ease-spring);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.hs-dropzone__button:hover:not(:disabled){border-color:var(--color-focus);background:var(--color-accent-soft)}.hs-dropzone--dragging .hs-dropzone__button{border-style:solid;border-color:var(--color-focus);background:var(--color-accent-soft);transform:scale(1.01)}.hs-dropzone--invalid .hs-dropzone__button{border-color:var(--color-danger);border-style:solid}.hs-dropzone__button:disabled{cursor:not-allowed;color:var(--color-text-muted);background:var(--color-container)}.hs-dropzone__icon{border-radius:var(--radius-blob);background:var(--color-card);width:44px;height:44px;color:var(--color-info);box-shadow:var(--shadow-1);justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex}.hs-dropzone__title{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:650}.hs-dropzone__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.hs-list-group{padding:var(--space-1) var(--space-3);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-1);flex-direction:column;display:flex}:root[data-contrast=more] .hs-list-group{border:1px solid var(--color-border)}.hs-list-group>*+*{border-top:1px solid var(--color-border)}.hs-list-row{align-items:center;gap:var(--space-3);width:100%;min-height:68px;padding:var(--space-3) var(--space-1);color:var(--color-text);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out);background:0 0;border:none;text-decoration:none;display:flex}.hs-list-row:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary-soft) 60%, transparent)}.hs-list-row:disabled{cursor:not-allowed;color:var(--color-text-muted)}.hs-list-row__leading,.hs-list-row__trailing{flex:none;justify-content:center;align-items:center;display:inline-flex}.hs-list-row__leading{border-radius:var(--radius-blob);background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-info)}.hs-list-row__trailing{border-radius:var(--radius-blob-alt);background:var(--color-primary-soft);width:38px;height:38px;color:var(--color-on-primary-soft);transition:transform var(--motion-base) var(--ease-spring)}.hs-list-row:hover:not(:disabled) .hs-list-row__trailing{transform:translate(2px)rotate(-6deg)}.hs-list-row:disabled .hs-list-row__trailing{background:var(--color-container);color:var(--color-text-muted)}.hs-list-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hs-list-row__title{font-size:var(--font-size-md);font-weight:650}.hs-list-row__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.hs-progress{border-radius:var(--radius-pill);background:var(--color-progress-track);width:100%;height:12px;position:relative;overflow:hidden}.hs-progress--sm{height:10px}.hs-progress__fill{border-radius:inherit;background-color:var(--color-progress);min-width:10px;height:100%;transition:width var(--motion-slow) var(--ease-out);background-image:repeating-linear-gradient(-55deg,#0000 0 6px,#ffffff29 6px 9px)}.hs-progress--indeterminate:before{content:"";border-radius:inherit;background:var(--color-progress);width:35%;animation:1.6s ease-in-out infinite hs-progress-slide;position:absolute;inset:0 auto 0 0}@keyframes hs-progress-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.hs-progress__fill{transition:none}.hs-progress--indeterminate:before{background:repeating-linear-gradient(-45deg, var(--color-progress) 0 6px, transparent 6px 12px);width:100%;animation:none}}.hs-radio-group{gap:var(--space-1);border:none;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.hs-radio-group__legend{margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text);padding:0;font-weight:600}.hs-radio-group__options{flex-direction:column;display:flex}.hs-radio-group--horizontal .hs-radio-group__options{column-gap:var(--space-5);flex-flow:wrap}.hs-radio{align-items:center;gap:var(--space-3);min-height:var(--touch-target);cursor:pointer;color:var(--color-text);display:flex}.hs-radio--disabled{cursor:not-allowed;color:var(--color-text-muted)}.hs-radio__input{appearance:none;border:2px solid var(--color-border-strong);background:var(--color-card);width:24px;height:24px;cursor:inherit;transition:border-width var(--motion-base) var(--ease-spring), border-color var(--motion-fast) var(--ease-out);border-radius:50%;flex:none;margin:0}.hs-radio__input:checked{border:7px solid var(--color-primary);background:var(--color-on-primary)}.hs-radio__input:disabled{opacity:.5}.hs-radio__text{flex-direction:column;display:flex}.hs-radio__description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.hs-section{gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.hs-section:first-child{margin-top:0}:root[data-contrast=more] .hs-section{border:1px solid var(--color-border)}.hs-card .hs-section,.hs-dialog .hs-section{padding:var(--space-3) 0 0;border-top:1px solid var(--color-border);box-shadow:none;background:0 0;border-radius:0;margin-top:0}.hs-section__title{align-items:center;gap:var(--space-2);font-size:1.0625rem;font-weight:var(--font-weight-display);color:var(--color-text);margin:0;line-height:1.3;display:flex}.hs-section__number{border-radius:var(--radius-blob);background:var(--color-primary);width:30px;height:30px;color:var(--color-on-primary);font-size:var(--font-size-sm);flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.hs-section__icon{color:var(--color-text-muted);display:inline-flex}.hs-section__body{gap:var(--space-4);flex-direction:column;display:flex}.hs-section__title:after{content:"";background:var(--color-border-strong);opacity:.45;width:30px;height:10px;-webkit-mask:var(--doodle-stitches) no-repeat center / contain;mask:var(--doodle-stitches) no-repeat center / contain;flex:none;margin-left:auto}.hs-segmented{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-pill);background:var(--color-container);display:flex}.hs-segmented__option{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex:1 1 0;display:inline-flex}.hs-segmented__option:active:not(:disabled){transform:scale(var(--press-scale))}.hs-segmented__option:hover:not(:disabled):not(.hs-segmented__option--checked){color:var(--color-text)}.hs-segmented__option--checked{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-1);font-weight:650}:root[data-contrast=more] .hs-segmented__option--checked{border-color:currentColor}.hs-segmented__option:disabled{cursor:not-allowed;opacity:.5}.hs-segmented__icon{display:inline-flex}.hs-select{position:relative}.hs-select__control{appearance:none;padding-right:calc(var(--space-4) * 2 + 18px);border-radius:var(--radius-md);cursor:pointer}.hs-select__chevron{top:50%;right:var(--space-4);pointer-events:none;color:var(--color-text-muted);position:absolute;transform:translateY(-50%)}.hs-toast-region{left:50%;bottom:calc(env(safe-area-inset-bottom) + 104px);z-index:200;gap:var(--space-2);width:min(480px, calc(100% - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.hs-toast{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-card);box-shadow:var(--shadow-3);pointer-events:auto;animation:hs-toast-in var(--motion-slow) var(--ease-spring);display:flex}@keyframes hs-toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@media (prefers-reduced-motion:reduce){.hs-toast{animation:none}}.hs-toast__icon{flex:none;display:inline-flex}.hs-toast--success .hs-toast__icon{color:var(--color-sage)}.hs-toast--warning .hs-toast__icon{color:var(--color-row-current)}.hs-toast--error .hs-toast__icon{color:var(--color-highlight)}.hs-toast__message{font-size:var(--font-size-md);flex:1;line-height:1.35}.hs-toast__close{color:inherit;flex:none}.hs-toast .hs-icon-button--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--color-card) 15%, transparent)}.app-shell{background:var(--color-surface);grid-template-rows:auto 1fr auto;max-width:960px;height:100dvh;margin:0 auto;display:grid}.app-shell__header{padding:calc(env(safe-area-inset-top) + var(--space-3)) var(--space-4) var(--space-2)}.app-shell__content{overscroll-behavior:contain;min-height:0;padding:var(--space-2) var(--space-4) var(--space-5);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;overflow-y:auto}.app-shell__footer{padding:var(--space-2) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-3))}
