.asset-manager{container-name:asset-manager;container-type:inline-size;position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:var(--radius-12);background:var(--color-bg-canvas)}::view-transition-group(.mine-assets-route-back),::view-transition-group(.mine-assets-route-forward){overflow:clip;animation-duration:var(--duration-slow);animation-timing-function:var(--ease-standard)}::view-transition-image-pair(.mine-assets-route-back),::view-transition-image-pair(.mine-assets-route-forward){isolation:auto}::view-transition-new(.mine-assets-route-back),::view-transition-new(.mine-assets-route-forward),::view-transition-old(.mine-assets-route-back),::view-transition-old(.mine-assets-route-forward){width:100%;height:100%;mix-blend-mode:normal}::view-transition-old(.mine-assets-route-forward){animation:mine-route-exit-forward var(--duration-fast) ease-in both}::view-transition-old(.mine-assets-route-back){animation:mine-route-exit-back var(--duration-fast) ease-in both}::view-transition-new(.mine-assets-route-forward){animation:mine-route-enter-forward var(--duration-slow) var(--ease-standard) both}::view-transition-new(.mine-assets-route-back){animation:mine-route-enter-back var(--duration-slow) var(--ease-standard) both}@keyframes mine-route-exit-forward{to{opacity:0;transform:translateX(-12px) scale(.995)}}@keyframes mine-route-exit-back{to{opacity:0;transform:translateX(12px) scale(.995)}}@keyframes mine-route-enter-forward{0%{opacity:0;transform:translateX(18px) scale(.995)}}@keyframes mine-route-enter-back{0%{opacity:0;transform:translateX(-18px) scale(.995)}}@media (prefers-reduced-motion:reduce){::view-transition-group(.mine-assets-route-back),::view-transition-group(.mine-assets-route-forward),::view-transition-new(.mine-assets-route-back),::view-transition-new(.mine-assets-route-forward),::view-transition-old(.mine-assets-route-back),::view-transition-old(.mine-assets-route-forward){animation:none}}.asset-manager__scroll{height:100%;min-height:0;padding:var(--space-24) var(--layout-page-gutter) calc(var(--space-40) + var(--size-tab-height) + var(--space-4));overflow-y:auto}.asset-manager__back{width:max-content;height:var(--size-control-32);display:inline-flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-16);padding:0 var(--space-8);border-radius:var(--radius-6);color:var(--color-text-secondary);font-weight:var(--font-weight-regular);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.asset-manager__back:hover{background:var(--color-bg-overlay-2);color:var(--color-text-primary)}.asset-manager__back:active{background:var(--color-bg-overlay-3)}.asset-manager__content{min-width:0;display:flex;flex-direction:column;gap:var(--space-16)}.asset-manager__library{min-width:0;display:flex;flex-direction:column;gap:var(--space-12)}.asset-manager__category-select,.asset-manager__creator-select,.asset-manager__sort-select{width:176px;flex-shrink:0}.asset-manager__category-select{width:208px}.asset-manager__filter-select .ui-select__trigger{padding:0 var(--space-12);border-radius:var(--radius-8);background:var(--color-bg-overlay-1)}.asset-manager__filter-select .ui-select__trigger[aria-expanded=true]{background:var(--color-bg-canvas)}.asset-manager__tabbar,.asset-manager__tabbar-actions{min-width:0;display:flex;align-items:center;gap:var(--space-12)}.asset-manager__tabbar-actions{flex:0 0 auto;margin-left:auto}.asset-manager__tabbar:has(.heat-transfer-storage--inline){flex-wrap:wrap}.asset-manager__tabbar-actions:has(.heat-transfer-storage--inline){flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end}.asset-manager__tabs{--asset-tab-x:var(--space-2);--asset-tab-width:0px;position:relative;width:max-content;max-width:100%;height:var(--size-control-32);display:inline-flex;align-items:center;padding:var(--space-2);margin-bottom:0;overflow-x:auto;border-radius:var(--radius-9999);background:var(--color-bg-overlay-1);scrollbar-width:none}.asset-manager__tabs:before{position:absolute;top:var(--space-2);left:0;width:var(--asset-tab-width);height:var(--size-control-28);border-radius:var(--radius-9999);background:var(--color-bg-panel);content:"";pointer-events:none;transform:translateX(var(--asset-tab-x));transition:width var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.asset-manager__tabs::-webkit-scrollbar{display:none}.asset-manager__tabs button{position:relative;z-index:1;height:var(--size-control-28);display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-4);padding:0 var(--space-12);border:0;border-radius:var(--radius-9999);background:transparent;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.asset-manager__tabs button:hover,.asset-manager__tabs button[aria-selected=true]{color:var(--color-text-primary)}.asset-manager__tabs button[aria-selected=true]{background:var(--color-bg-panel);font-weight:var(--font-weight-medium)}.asset-manager__tabs small{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.asset-manager__error{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);border-radius:var(--radius-6);background:var(--status-error-surface-l1);color:var(--status-error-default)}.asset-manager__visibility-description{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body)}.asset-manager__visibility-dialog{width:min(640px,100%)}.asset-manager__visibility-dialog .ui-form-dialog__actions{align-items:center}.asset-manager__visibility-hint{margin:0 auto 0 0;color:var(--color-text-tertiary);font-size:var(--font-size-caption);line-height:var(--line-height-body-18)}.asset-manager__bulk-toolbar-sticky{position:absolute;right:var(--layout-page-gutter);bottom:var(--space-8);left:var(--layout-page-gutter);z-index:var(--z-toolbar);background:var(--color-bg-canvas);box-shadow:var(--shadow-panel)}.asset-manager__bulk-toolbar{min-height:var(--size-tab-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:0 var(--space-24);border-radius:var(--radius-8);background:var(--status-info-surface-l1)}.asset-manager__selection-control{display:inline-flex;align-items:center;gap:var(--space-8);color:var(--color-text-secondary);font-size:var(--font-size-caption);white-space:nowrap}.asset-manager__selection-control input{width:16px;height:16px;margin:0;accent-color:var(--color-brand-primary);cursor:pointer}.asset-manager__selection-control input:disabled{cursor:not-allowed}.asset-manager__selection-control--all{justify-self:start}.asset-manager__select-area{display:contents}.asset-manager__bulk-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-8)}.asset-manager__bulk-category{width:208px}.asset-manager__bulk-category .ui-cascader__trigger{height:var(--size-control-36);padding:0 var(--space-12);border-radius:var(--radius-8)}.asset-manager__bulk-visibility-action.ui-button__button:not(:disabled){color:var(--channel-color-blue)}.asset-manager__bulk-selection-count{color:var(--color-text-tertiary);font-size:var(--font-size-caption);white-space:nowrap}.asset-manager__list{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-bg-panel)}.asset-manager__list-header,.asset-manager__row{--asset-manager-grid-columns:var(--size-control-24) var(--size-control-touch) minmax(160px,1.4fr) minmax(112px,0.7fr) minmax(200px,1.35fr) minmax(112px,0.75fr) auto;display:grid;grid-template-columns:var(--asset-manager-grid-columns);min-width:1060px;align-items:center;gap:var(--space-12);padding-right:var(--space-12);padding-left:var(--space-12)}.asset-manager__list-header[data-has-uploader=true],.asset-manager__row[data-has-uploader=true]{--asset-manager-grid-columns:var(--size-control-24) var(--size-control-touch) minmax(160px,1.4fr) minmax(112px,0.7fr) minmax(104px,0.65fr) minmax(200px,1.35fr) minmax(112px,0.75fr) auto}.asset-manager__list-header[data-is-private=true],.asset-manager__row[data-is-private=true]{--asset-manager-grid-columns:var(--size-control-24) var(--size-control-touch) minmax(160px,1.4fr) minmax(112px,0.7fr) minmax(112px,0.75fr) auto}.asset-manager__list-header{min-height:var(--size-control-32);border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-bg-overlay-1)}.asset-manager__list-header-primary{grid-column:2/4}.asset-manager__column-heading{min-width:0;overflow:hidden;color:var(--color-text-tertiary);font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap}.asset-manager__row{min-height:56px;padding-top:var(--space-6);padding-bottom:var(--space-6);transition:background-color var(--duration-fast) var(--ease-standard)}.asset-manager__row+.asset-manager__row{border-top:var(--border-width) solid var(--color-border-subtle)}.asset-manager__row:hover{background:var(--color-bg-overlay-1)}.asset-manager__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);white-space:nowrap}.asset-manager__thumbnail{position:relative;width:var(--size-control-touch);height:var(--size-control-touch);display:grid;place-items:center;padding:0;overflow:hidden;border:0;border-radius:var(--radius-6);background:var(--color-bg-overlay-2);color:var(--color-icon-tertiary);cursor:zoom-in}.asset-manager__thumbnail:focus-visible{outline:calc(var(--border-width) * 2) solid var(--color-border-focus);outline-offset:var(--space-2)}.asset-manager__thumbnail img{object-fit:cover}.asset-manager__thumbnail--contain img{object-fit:contain}.asset-manager__identity{width:100%;min-width:0;max-width:100%;display:grid;gap:var(--space-4);overflow:hidden}.asset-manager__identity strong,.asset-manager__identity>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-manager__identity strong{display:block;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.asset-manager__name-row{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.asset-manager__name-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-manager__name-edit{margin:calc(var(--space-2) * -1) 0;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}.asset-manager__row:focus-within .asset-manager__name-edit,.asset-manager__row:hover .asset-manager__name-edit{opacity:1;pointer-events:auto}.asset-manager__name-input{width:100%;min-width:0;height:var(--size-control-28);padding:0 var(--space-8);border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-4);outline:0;background:var(--color-bg-input);color:var(--color-text-primary);font:inherit}.asset-manager__name-input:focus-visible{border-color:var(--color-border-focus);box-shadow:0 0 0 var(--border-width) var(--color-focus-ring)}.asset-manager__name-input:disabled{color:var(--color-text-disabled);cursor:wait}.asset-manager__identity>span:not(.asset-manager__name-row){color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.asset-manager__metadata{display:contents;margin:0}.asset-manager__list-header-actions{display:flex;gap:var(--space-4);visibility:hidden}.asset-manager__list-header-actions span{padding:0 var(--space-8);border:var(--border-width) solid transparent;font-size:var(--font-size-body);font-weight:var(--font-weight-r);white-space:nowrap}.asset-manager__metadata>div{display:contents;min-width:0}.asset-manager__metadata dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.asset-manager__metadata dd{min-width:0;overflow:hidden;margin:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap}.asset-manager__empty{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-8);color:var(--color-text-tertiary)}.asset-manager__empty>.ui-icon__icon{font-size:var(--size-icon-28)}.asset-manager__empty strong{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.asset-manager__footer{display:flex;justify-content:center;padding:var(--space-8) 0}.asset-manager__loading-line,.asset-manager__loading-list{border-radius:var(--radius-6);background:var(--color-bg-overlay-2);animation:asset-manager-pulse var(--duration-slow) var(--ease-standard) infinite alternate}.asset-manager__loading-line--back{width:120px;height:20px;margin-bottom:var(--space-24)}.asset-manager__loading-list{height:320px}@keyframes asset-manager-pulse{to{opacity:.5}}@container asset-manager (max-width: 720px){.asset-manager:has(.asset-manager__bulk-toolbar-sticky) .asset-manager__scroll{padding-bottom:calc(var(--space-24) + var(--space-16) + var(--line-height-caption) + var(--space-12) + var(--size-control-36) + var(--space-16))}.asset-manager__scroll{padding-top:var(--space-16)}.asset-manager__tabbar{gap:var(--space-8)}.asset-manager__tabs{min-width:0;flex:1 1 auto}.asset-manager__tabbar-actions{gap:var(--space-8)}.asset-manager__category-select,.asset-manager__category-select .ui-select__trigger,.asset-manager__creator-select,.asset-manager__creator-select .ui-select__trigger{width:100%}.asset-manager__bulk-toolbar{align-items:flex-start;flex-direction:column;padding:var(--space-8) var(--space-12)}.asset-manager__bulk-actions{width:100%;justify-content:space-between}.asset-manager__bulk-category{width:100%}}@media (prefers-reduced-motion:reduce){.asset-manager__tabs:before{transition:none}}@media (hover:none){.asset-manager__name-edit{opacity:1;pointer-events:auto}}.projection-console{container-type:inline-size}.projection-console,.projection-loading{height:100%;min-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--color-bg-canvas)}.projection-loading{position:relative;overflow:hidden}.projection-loading__status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.projection-loading__block,.projection-loading__dropzone{position:relative;display:block;overflow:hidden;background:var(--color-bg-overlay-2)}.projection-loading__block:after,.projection-loading__dropzone:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--color-bg-overlay-3),transparent);content:"";transform:translateX(-100%);animation:projection-loading-shimmer 1.4s ease-in-out infinite}.projection-loading__title{width:72px;height:28px;flex:0 0 auto;border-radius:var(--radius-6)}.projection-loading__tabs{display:inline-flex;gap:var(--space-4);padding:var(--space-2);border-radius:var(--radius-9999);background:var(--color-bg-overlay-1)}.projection-loading__tab{width:76px;height:var(--size-control-28);border-radius:var(--radius-9999)}.projection-loading__content{min-width:0;min-height:0;display:grid;align-content:center;padding:0 var(--space-32) var(--space-16)}.projection-loading__panel{width:min(680px,100%);display:grid;gap:var(--space-16);margin:0 auto}.projection-loading__heading{display:grid;gap:var(--space-8)}.projection-loading__eyebrow{width:56px;height:12px;border-radius:var(--radius-4)}.projection-loading__heading-text{width:216px;height:24px;border-radius:var(--radius-6)}.projection-loading__dropzone{min-height:280px;border:var(--border-width) dashed var(--color-border-subtle);border-radius:var(--radius-8)}@keyframes projection-loading-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.projection-loading__block:after,.projection-loading__dropzone:after{animation:none}}.projection-console__content{min-width:0;min-height:0;display:grid;align-content:start}.projection-console__content--centered{align-content:center}.projection-console__content--pdf-stitching{align-content:stretch}.projection-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-24)}.projection-tool-tabs{position:relative;width:max-content;max-width:100%;height:var(--size-control-32);display:inline-flex;flex:0 1 auto;align-items:center;padding:var(--space-2);overflow-x:auto;border-radius:var(--radius-9999);background:var(--color-bg-overlay-1);scrollbar-width:none}.projection-tool-tabs:before{position:absolute;top:var(--space-2);left:0;width:var(--projection-tool-tab-indicator-width,0);height:var(--size-control-28);border-radius:var(--radius-9999);background:var(--color-bg-panel);content:"";pointer-events:none;transform:translateX(var(--projection-tool-tab-indicator-x,var(--space-2)));transition:width var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.projection-tool-tabs::-webkit-scrollbar{display:none}.projection-tool-tabs button{position:relative;z-index:1;height:var(--size-control-28);display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-4);padding:0 var(--space-12);border:0;border-radius:var(--radius-9999);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-body-13);cursor:pointer;white-space:nowrap}.projection-tool-tabs button:hover{color:var(--color-text-primary)}.projection-tool-tabs button[aria-selected=true]{background:transparent;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.projection-tool-tabs button:focus-visible{outline:calc(var(--border-width) * 2) solid var(--color-border-focus);outline-offset:calc(var(--border-width) * -2)}@media (prefers-reduced-motion:reduce){.projection-tool-tabs:before{transition:none}}.projection-header-flow{min-width:0;display:flex;align-items:center;gap:var(--space-12)}.projection-header-statuses{min-width:0;display:flex;align-items:center;gap:var(--space-24)}.projection-header-state-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-8);white-space:nowrap}.projection-panel{min-width:0;display:flex;flex-direction:column;gap:var(--space-16);padding:0 var(--space-32) var(--space-16);border-radius:var(--radius-12);background:var(--color-bg-panel)}.projection-source-panel{background:var(--color-bg-canvas)}.projection-calibration-gate{width:min(680px,100%);margin:0 auto;align-items:stretch}.projection-calibration-gate--setup{width:min(920px,100%);gap:var(--space-24);padding:0}.projection-pdf-stitching-workspace{min-height:0;background:var(--color-bg-canvas)}.projection-desktop-only-panel{min-height:clamp(360px,calc(100dvh - 220px),680px);align-items:center;justify-content:center;background:var(--color-bg-canvas)}.projection-desktop-only-panel__message{display:grid;justify-items:center;gap:var(--space-8);color:var(--color-text-tertiary);text-align:center}.projection-desktop-only-panel__message strong{color:var(--color-text-primary);font-size:var(--font-size-heading-16);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading-24)}.projection-desktop-only-panel__message span{font-size:var(--font-size-body-13);line-height:var(--line-height-body)}.projection-pdf-stitching-dropzone{min-height:clamp(420px,calc(100dvh - 240px),720px);cursor:default}.projection-pdf-stitching-workspace__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:stretch;gap:var(--space-24)}.projection-pdf-stitching-workspace__preview{min-width:0}.projection-pdf-stitching-preview__content{display:grid;place-items:center}.projection-pdf-stitching-preview__frame{box-sizing:border-box;width:100%;padding:0;background:#ffffff;box-shadow:0 12px 36px #1717171f}.projection-pdf-stitching-preview{position:relative;isolation:isolate;width:100%;background:#ffffff;overflow:hidden;-webkit-user-select:none;user-select:none}.projection-pdf-stitching-preview__tile{position:absolute;display:block;padding:0;overflow:hidden;border:0;border-radius:0;appearance:none;background:#ffffff;cursor:grab;touch-action:none}.projection-pdf-stitching-preview__tile:focus-visible,.projection-pdf-stitching-preview__tile:hover{outline:2px solid color-mix(in srgb,var(--color-border-focus) 28%,transparent);outline-offset:-2px}.projection-pdf-stitching-preview__tile.is-dragging{cursor:grabbing;box-shadow:inset 0 0 0 1px var(--color-border-focus),0 8px 24px #1717172e}.projection-pdf-stitching-preview__tile.is-drop-target{box-shadow:inset 0 0 0 3px var(--status-success-surface-l1)}.projection-pdf-stitching-preview__drag-placeholder{box-sizing:border-box;position:absolute;z-index:0;border:1px dashed color-mix(in srgb,var(--color-border-focus) 58%,transparent);background:color-mix(in srgb,var(--color-bg-overlay-1) 70%,transparent);pointer-events:none}.projection-pdf-stitching-preview__empty-slot{box-sizing:border-box;position:absolute;z-index:0;display:grid;place-items:center;border:1px dashed var(--color-border-default);background:color-mix(in srgb,var(--color-bg-overlay-1) 52%,transparent);color:var(--color-text-tertiary);font-size:10px;pointer-events:none}.projection-pdf-stitching-preview__empty-slot.is-drop-target{z-index:999;border:2px solid var(--status-success-default);background:var(--status-success-surface-l1);color:var(--status-success-default)}.projection-pdf-stitching-preview__tile canvas{width:100%;height:100%;display:block}.projection-pdf-stitching-preview__tile>span{position:absolute;top:2px;left:2px;padding:1px var(--space-4);border:1px solid #1717171f;border-radius:var(--radius-4);background:#ffffffb8;color:#1717179c;font-size:10px;line-height:14px;opacity:.72;pointer-events:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.projection-pdf-stitching-preview__supplemental-guides{position:absolute;inset:0;z-index:1000;width:100%;height:100%;overflow:visible;pointer-events:none}.projection-pdf-stitching-preview__supplemental-guide{fill:none;stroke:#e8463a;stroke-width:1.5;stroke-dasharray:7 5;stroke-linecap:round}.projection-pdf-stitching-preview__tile:is(:hover,:focus-visible,.is-dragging,.is-drop-target)>span{background:#fffffff2;color:var(--color-text-primary);opacity:1}.projection-pdf-stitching-preview__status{position:absolute;inset:0;z-index:1100;display:grid;place-items:center;background:#ffffffc7;color:#4f4f4f;font-size:var(--font-size-body-13)}.projection-pdf-stitching-settings{min-width:0;display:grid;align-content:start;gap:var(--space-20);padding-left:var(--space-24);border-left:var(--border-width) solid var(--color-border-default)}.projection-pdf-stitching-detection{display:grid;gap:var(--space-4);padding:var(--space-12);border-radius:var(--radius-8);background:var(--status-success-surface-l1);color:var(--status-success-default)}.projection-pdf-stitching-detection.is-manual,.projection-pdf-stitching-detection.is-review{background:var(--color-bg-overlay-2);color:var(--color-text-primary)}.projection-pdf-stitching-detection strong{font-size:var(--font-size-body-13)}.projection-pdf-stitching-detection span,.projection-pdf-stitching-settings>p{color:var(--color-text-secondary);font-size:var(--font-size-body-12);line-height:var(--line-height-body)}.projection-pdf-stitching-summary{display:grid;gap:var(--space-12);margin:0}.projection-pdf-stitching-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-12)}.projection-pdf-stitching-summary dt{color:var(--color-text-tertiary);font-size:var(--font-size-body-12)}.projection-pdf-stitching-summary dd{margin:0;color:var(--color-text-primary);font-size:var(--font-size-body-13);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.projection-pdf-stitching-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-12);row-gap:var(--space-16)}.projection-pdf-stitching-controls__order{grid-column:1/-1}.projection-pdf-stitching-auto-action{display:grid;padding-top:var(--space-4)}.projection-pdf-stitching-auto-action .ui-button__button{width:100%}.projection-pdf-stitching-settings>p{margin:var(--space-4) 0 0}.projection-calibration-gate__intro{min-width:0;display:grid;align-items:center;justify-content:center;justify-items:center;text-align:center}.projection-calibration-gate__thumbnail{width:120px;height:120px;display:grid;place-items:center;overflow:hidden}.projection-calibration-gate__thumbnail img{width:100%;height:100%;object-fit:contain}.projection-calibration-gate__heading{min-width:0}.projection-calibration-gate__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-24);padding:var(--space-32);background-color:var(--color-bg-overlay-1);border-radius:var(--radius-8)}.projection-calibration-gate__main{min-width:0;display:grid;align-content:start;gap:var(--space-24)}.projection-calibration-gate__notice{min-width:0;padding-top:var(--space-24);border-top:var(--border-width) solid var(--color-border-subtle)}.projection-calibration-gate__notice ul{display:grid;gap:var(--space-8);margin:var(--space-12) 0 0;padding-left:var(--space-16);color:var(--color-text-secondary);font-size:var(--font-size-body-12);line-height:var(--line-height-body)}.projection-calibration-gate h2{margin:var(--space-4) 0 var(--space-8);color:var(--color-text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-heading-20);line-height:var(--line-height-heading-28)}.projection-calibration-gate p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body-13);line-height:var(--line-height-body)}.projection-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}.projection-panel__header h2{margin:var(--space-2) 0 0;color:var(--color-text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-heading-16);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading-24)}.projection-panel__header-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-8)}.projection-panel__eyebrow{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption);text-transform:uppercase}.projection-status{min-height:var(--size-control-24);display:inline-flex;align-items:center;gap:var(--space-8);padding:0 var(--space-8);border-radius:var(--radius-9999);background:var(--color-bg-overlay-2);color:var(--color-text-secondary);font-size:var(--font-size-body-12);font-weight:var(--font-weight-medium)}.projection-status>span{width:7px;height:7px;border-radius:50%;background:var(--color-text-disabled)}.projection-status--online{background:var(--status-success-surface-l1);color:var(--status-success-default)}.projection-status--online>span{background:var(--status-success-default)}.projection-dropzone{min-height:var(--size-dropzone-min);display:grid;place-items:center;align-content:center;gap:var(--space-8);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-8);background:var(--color-bg-overlay-1);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.projection-dropzone:hover{border-color:var(--color-border-focus);background:var(--color-bg-overlay-2)}.projection-dropzone strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.projection-dropzone>span{color:var(--color-text-tertiary);font-size:var(--font-size-body-12)}.projection-dropzone--convert{min-height:clamp(420px,calc(100dvh - 240px),720px)}.projection-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0);white-space:nowrap}.projection-source-preview{position:relative;height:max(280px,calc(100vh - 360px));height:max(280px,calc(100dvh - 360px));min-height:280px;overflow:hidden;border-radius:var(--radius-8);background:#050505}.projection-source-preview__viewport{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;display:grid;place-items:center;padding:var(--space-24);overflow:auto}.projection-source-preview__viewport.is-zoomed{place-items:start}.projection-source-preview__content{width:100%;height:100%;transition:width var(--duration-fast) var(--ease-standard),height var(--duration-fast) var(--ease-standard)}.projection-source-preview__content svg{width:100%;height:100%;display:block;overflow:hidden}.projection-source-preview__content path{fill:none;stroke:var(--projection-preview-layer-color,#f7f7f7);stroke-width:.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.projection-source-preview__pdf{width:100%;height:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;filter:url(#projection-pdf-preview-theme)}.projection-source-preview__zoom-controls{position:absolute;right:var(--space-16);top:var(--space-16);z-index:1;display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-8);background:color-mix(in srgb,var(--color-bg-panel) 92%,transparent)}.projection-source-preview__zoom-controls button{min-width:var(--size-control-28);height:var(--size-control-28);display:inline-grid;place-items:center;padding:0 var(--space-8);border:0;border-radius:var(--radius-4);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-body-12);cursor:pointer}.projection-source-preview__zoom-controls button:hover:not(:disabled){background:var(--color-bg-overlay-2);color:var(--color-text-primary)}.projection-source-preview__zoom-controls button:focus-visible{outline:calc(var(--border-width) * 2) solid var(--color-border-focus);outline-offset:calc(var(--border-width) * 2)}.projection-source-preview__zoom-controls button:disabled{color:var(--color-text-disabled);cursor:default}.projection-source-preview__zoom-controls output{min-width:42px;color:var(--color-text-secondary);font-size:var(--font-size-body-12);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.projection-source-preview--convert{box-sizing:border-box;position:relative;height:clamp(420px,calc(100dvh - 240px),720px);min-height:420px;display:grid;place-items:center;padding:var(--space-24);background:var(--color-bg-app)}.projection-source-preview--convert path{stroke-width:var(--projection-preview-stroke-width,.8px)}.projection-stitching-preview{pointer-events:none}.projection-stitching-preview__paper{fill:#ffffff;stroke:#e6e6e6;stroke-width:.5;vector-effect:non-scaling-stroke}.projection-stitching-preview__pattern{fill:none;stroke:#262626;stroke-width:var(--projection-preview-stroke-width,.8px);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.projection-stitching-preview__outer-edge{stroke:#b8b8b8;stroke-width:1;vector-effect:non-scaling-stroke}.projection-stitching-preview__guide{stroke:#e8463a;stroke-width:1.5;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.projection-stitching-preview__calibration rect{fill:none;stroke:#262626;stroke-width:1.5;vector-effect:non-scaling-stroke}.projection-stitching-preview__calibration text{font-family:ui-sans-serif,system-ui,sans-serif;font-size:7px;font-weight:700;paint-order:stroke;stroke:#ffffff;stroke-width:.6px;stroke-linejoin:round}.projection-stitching-preview text{fill:var(--color-text-primary);font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);paint-order:stroke;stroke:var(--color-bg-canvas);stroke-width:.8;stroke-linejoin:round}.projection-pdf-filter-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.projection-page-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-12);color:var(--color-text-secondary);font-size:var(--font-size-body-12)}.projection-page-picker select{height:var(--size-control-36);padding:0 var(--space-8);background:var(--color-bg-input);color:var(--color-text-primary)}.projection-layer-picker,.projection-page-picker select{min-width:0;border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-6)}.projection-layer-picker{display:grid;gap:var(--space-8);margin:0;padding:var(--space-12)}.projection-layer-picker legend{padding:0 var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-body-12)}.projection-layer-picker>div{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16)}.projection-layer-picker__swatch{width:10px;height:10px;flex:none;border-radius:50%}.projection-print-export{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding:var(--space-16);border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-8);gap:var(--space-8)}.projection-print-export>header{display:flex;align-items:center;justify-content:space-between}.projection-print-export h2,.projection-print-export h3{color:var(--color-text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-body);line-height:1}.projection-print-export>header strong{flex:0 0 auto;color:var(--color-text-secondary);font-size:var(--font-size-body-12);font-weight:var(--font-weight-medium)}.projection-form-controls{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:var(--space-16);overflow-y:auto}.projection-form-controls label{min-width:0;display:grid;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-body-12)}.projection-form-controls input,.projection-form-controls select{width:100%;min-width:0;height:var(--size-control-36);padding:0 var(--space-8);border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-6);background:var(--color-bg-input);color:var(--color-text-primary)}.projection-choice-group{min-width:0;grid-column:1/-1;display:grid;gap:var(--space-4);margin:0;padding:0;border:0;color:var(--color-text-secondary);font-size:var(--font-size-body-12)}.projection-choice-group>legend{padding:0}.projection-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-8)}.projection-choice-options--stroke{grid-template-columns:repeat(3,minmax(0,1fr))}.projection-choice-options button{min-width:0;min-height:0;display:grid;place-items:center;gap:var(--space-4);border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-6);background:var(--color-bg-input);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-body-12);line-height:var(--line-height-caption);padding:var(--space-8) 0}.projection-choice-options button:hover,.projection-choice-options button[aria-pressed=true]{border-color:var(--color-border-focus);color:var(--color-text-primary)}.projection-choice-options button:disabled{border-color:var(--color-border-default);background:var(--color-bg-overlay-1);color:var(--color-text-disabled);cursor:not-allowed}.projection-choice-options span,.projection-choice-options strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projection-choice-options span{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.projection-print-export>p{margin:var(--space-16) 0 0 0;color:var(--color-text-tertiary);font-size:var(--font-size-body-12);line-height:var(--line-height-body)}.projection-print-export>.ui-button__button{width:100%}.projection-convert-workspace{min-width:0;background:var(--color-bg-canvas)}.projection-convert-workspace__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:stretch;gap:var(--space-24)}.projection-convert-workspace__source{min-width:0;display:grid;align-content:start;gap:var(--space-16)}@media (min-width:821px){.projection-console__content:has(.projection-convert-workspace,.projection-pdf-stitching-workspace){grid-template-rows:minmax(0,1fr)}.projection-convert-workspace,.projection-pdf-stitching-workspace{height:100%;min-height:0}.projection-convert-workspace__body,.projection-pdf-stitching-workspace__body{min-height:0;flex:1 1 auto}.projection-pdf-stitching-workspace__preview{height:100%;min-height:0}.projection-pdf-stitching-settings{min-height:0;overflow-y:auto}.projection-convert-workspace__source{height:100%;min-height:0;align-content:stretch}.projection-convert-workspace__source .projection-dropzone--convert,.projection-convert-workspace__source .projection-source-preview--convert{height:100%;min-height:0}.projection-convert-workspace__settings{min-height:0;overflow-y:auto;grid-template-rows:minmax(0,1fr) auto;align-content:stretch}.projection-print-export{min-height:0}}.projection-convert-workspace__settings{min-width:0;display:grid;align-content:start}.projection-layer-picker--conversion{background:var(--color-bg-panel)}.projection-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);margin:0}.projection-metadata div{min-width:0;display:grid;gap:var(--space-2);padding:var(--space-8);border-radius:var(--radius-6);background:var(--color-bg-overlay-1)}.projection-metadata dt{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.projection-metadata dd{margin:0;overflow:hidden;color:var(--color-text-primary);font-size:var(--font-size-body-12);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.projection-inline-warning{margin:0;padding:var(--space-8) var(--space-12);border-radius:var(--radius-6);background:var(--status-warning-surface-l1);color:var(--status-warning);font-size:var(--font-size-body-12)}.projection-calibration-size{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}.projection-calibration-size label{min-width:0;display:grid;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-body-12)}.projection-calibration-size input{width:100%;height:var(--size-control-36);padding:0 var(--space-8);border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-6);background:var(--color-bg-input);color:var(--color-text-primary)}.projection-readiness{display:grid;gap:var(--space-12);margin:0;padding:0;list-style:none}.projection-readiness__step{display:grid;grid-template-columns:var(--size-control-28) minmax(0,1fr);align-items:center;gap:var(--space-8);color:var(--color-text-secondary)}.projection-readiness__step>span{width:var(--size-control-28);height:var(--size-control-28);display:grid;place-items:center;border:var(--border-width) solid var(--color-border-default);border-radius:50%;color:var(--color-text-tertiary);font-size:var(--font-size-body-12)}.projection-readiness__step.is-complete>span{border-color:transparent;background:var(--status-success-surface-l1);color:var(--status-success-default)}.projection-readiness strong{font-size:var(--font-size-body-12);font-weight:var(--font-weight-medium)}.projection-readiness--header{grid-template-columns:max-content var(--space-16) max-content;align-items:center;gap:var(--space-8)}.projection-readiness--header .projection-readiness__step{grid-template-columns:var(--size-control-24) max-content;gap:var(--space-8)}.projection-readiness__connector{width:100%;height:var(--border-width);background:var(--color-border-strong)}.projection-readiness--header .projection-readiness__step>span{width:var(--size-control-24);height:var(--size-control-24)}.projection-output{position:fixed;inset:0;z-index:1000;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:#050505;color:#f7f7f7;text-size-adjust:100%;touch-action:none;-webkit-user-select:none;user-select:none}.projection-output:fullscreen,:fullscreen .projection-output{inset:0;width:100vw;height:100vh;height:100dvh;background:#050505}.projection-output::backdrop,html:fullscreen::backdrop{background:#050505}html:fullscreen,html:fullscreen body{background:#050505}.projection-output--projection{cursor:grab}.projection-output--projection:active{cursor:grabbing}.projection-output__rotate-prompt{display:none}.projection-output__interruption{position:fixed;top:50%;left:50%;z-index:8;width:min(420px,calc(100vw - 32px));display:grid;justify-items:center;gap:10px;padding:24px;border:1px solid #ffffff38;border-radius:18px;background:#101010f2;box-shadow:0 24px 72px #000000b8;color:#f7f7f7;text-align:center;transform:translate(-50%,-50%)}.projection-output__interruption strong{font-size:20px}.projection-output__interruption span{color:#ffffffa8;font-size:13px}.projection-output__interruption>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.projection-output__interruption button{min-height:44px;padding:0 16px;border:1px solid #ffffff38;border-radius:8px;background:#2b2b2b;color:#f7f7f7}.projection-output__canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.projection-output__pdf-page{background-color:#ffffff;background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.projection-output__pdf-canvas,.projection-output__pdf-page{position:absolute;top:0;left:0;z-index:0;transform-origin:0 0;image-rendering:auto}.projection-output__pdf-canvas{pointer-events:none}.projection-output__stitched-pdf{top:0;left:0;z-index:0;transform-origin:0 0;pointer-events:none}.projection-output__stitched-pdf,.projection-output__stitched-pdf-page{position:absolute;overflow:visible;background:transparent}.projection-output__stitched-pdf-page canvas{width:100%;height:100%;display:block;max-width:none;background:transparent;image-rendering:auto}.projection-output__grid line{stroke:#52c7c56b;stroke-width:1}.projection-output__grid line.is-major{stroke:#52c7c5b8;stroke-width:1.4}.projection-output__dimensions text{fill:#f7f7f7;stroke:#050505;stroke-width:4px;paint-order:stroke fill;font-size:14px;font-weight:600;letter-spacing:.02em}.projection-output__quad{fill:#52c7c50b;stroke:#52c7c5;stroke-width:2}.projection-output__quad.is-invalid{fill:#e8463a14;stroke:#e8463a}.projection-output__verification{fill:none;stroke:#ffbd00;stroke-width:3}.projection-output__pattern path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.projection-output__source-check-frame path{fill:none;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.projection-output__source-check-frame text{font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:700;dominant-baseline:middle;paint-order:stroke;stroke:#050505;stroke-width:3px}.projection-output__handles{position:absolute;inset:0;pointer-events:none}.projection-output__edge-handle,.projection-output__handle,.projection-output__move-handle{position:absolute;z-index:2;display:grid;place-items:center;border:2px solid #050505;border-radius:50%;background:#f7f7f7;box-shadow:0 0 0 2px #52c7c5;color:#171717;cursor:grab;pointer-events:auto;transform:translate(-50%,-50%)}.projection-output__edge-handle,.projection-output__handle{width:28px;height:28px;border-color:#52c7c5;border-style:dashed;background:transparent;box-shadow:none}.projection-output__move-handle{width:64px;height:32px;border-radius:16px;background:#52c7c5;font-size:11px;font-weight:600}.projection-output__edge-handle:active,.projection-output__handle:active,.projection-output__move-handle:active{cursor:grabbing}.projection-output__edge-handle.is-selected,.projection-output__handle.is-selected{border-color:#ffb020;border-style:solid}.projection-output__nudge-control{position:fixed;top:50%;right:max(160px,env(safe-area-inset-right));z-index:5;display:grid;justify-items:center;gap:10px;padding:14px;border:1px solid #ffffff2e;border-radius:18px;background:#171717d9;box-shadow:0 12px 36px #00000052;color:#f7f7f7;transform:translateY(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media (max-width:1200px){.projection-output__nudge-control{right:max(24px,env(safe-area-inset-right))}}.projection-output__nudge-pad{display:grid;grid-template-areas:". up ." "left center right" ". down .";gap:6px}.projection-output__nudge-pad button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:2px solid #52c7c5;border-radius:50%;background:#101010e8;color:#f7f7f7;cursor:pointer;touch-action:manipulation}.projection-output__nudge-pad button:focus-visible,.projection-output__nudge-pad button:hover{background:#234644}.projection-output__nudge-pad button:active{background:#52c7c5;color:#050505;transform:scale(.94)}.projection-output__nudge-pad .is-up{grid-area:up}.projection-output__nudge-pad .is-left{grid-area:left}.projection-output__nudge-pad .is-center{grid-area:center;border-color:#ffffff5c;font-size:13px;font-weight:700}.projection-output__nudge-pad .is-right{grid-area:right}.projection-output__nudge-pad .is-down{grid-area:down}.projection-output__rotation-control{position:fixed;top:50%;right:max(24px,env(safe-area-inset-right));z-index:5;width:min(360px,calc(100vw - 32px));display:grid;gap:12px;padding:16px;border:1px solid #ffffff2e;border-radius:16px;background:#171717e8;box-shadow:0 12px 36px #00000052;color:#f7f7f7;transform:translateY(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.projection-output__rotation-control>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.projection-output__rotation-control output{color:#52c7c5;font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.projection-output__rotation-control input[type=range]{width:100%;min-height:40px;accent-color:#52c7c5;cursor:pointer;touch-action:none}.projection-output__rotation-control>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.projection-output__rotation-control button{min-width:0;min-height:40px;padding:0 6px;border:1px solid #ffffff38;border-radius:8px;background:#2b2b2b;color:#f7f7f7;cursor:pointer;touch-action:manipulation}.projection-output__rotation-control button:focus-visible,.projection-output__rotation-control button:hover{background:#3a3a3a}.projection-output__rotation-control button:active{background:#234644}.projection-output__piece-progress-control{position:fixed;top:50%;right:max(24px,env(safe-area-inset-right));z-index:5;width:min(260px,calc(100vw - 32px));display:grid;gap:10px;padding:16px;border:1px solid #ffffff2e;border-radius:16px;background:#171717e8;box-shadow:0 12px 36px #00000052;color:#f7f7f7;transform:translateY(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.projection-output__piece-progress-control>strong{font-size:16px}.projection-output__piece-progress-control>span{color:#ffffffa8;font-size:12px}.projection-output__piece-progress-control>div{display:flex;gap:8px}.projection-output__piece-feedback button,.projection-output__piece-progress-control button{min-height:40px;flex:1 1;padding:0 12px;border:1px solid #ffffff38;border-radius:8px;background:#2b2b2b;color:#f7f7f7;cursor:pointer;touch-action:manipulation}.projection-output__piece-progress-control button{padding-inline:8px;white-space:nowrap}.projection-output__piece-progress-control button:disabled{opacity:.45;cursor:not-allowed}.projection-output__piece-feedback button:focus-visible,.projection-output__piece-feedback button:hover,.projection-output__piece-progress-control button:not(:disabled):focus-visible,.projection-output__piece-progress-control button:not(:disabled):hover{background:#3a3a3a}.projection-output__piece-feedback{position:fixed;left:50%;bottom:calc(max(20px, env(safe-area-inset-bottom)) + 66px);z-index:6;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border:1px solid #ffffff2e;border-radius:10px;background:#171717e8;box-shadow:0 8px 30px #00000052;color:#f7f7f7;font-size:13px;transform:translateX(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.projection-output__piece-feedback button{min-height:34px;flex:0 0 auto}.projection-output__restore-confirm .ui-dialog__scrim{background:#000000b8}.projection-output__restore-confirm .ui-confirm-dialog__dialog{border-color:#ffffff38;background:#171717f5;box-shadow:0 24px 72px #000000b8}.projection-output__restore-confirm .ui-confirm-dialog__dialog h2{color:#f7f7f7}.projection-output__restore-confirm .ui-confirm-dialog__dialog p{color:#ffffffa8}.projection-output__restore-confirm .ui-button__button{min-height:44px}.projection-output__restore-confirm .ui-button__secondary{border-color:#ffffff38;background:#2b2b2b;color:#f7f7f7}.projection-output__restore-confirm .ui-button__secondary:active,.projection-output__restore-confirm .ui-button__secondary:hover{border-color:#ffffff5c;background:#3a3a3a}.projection-output__restore-confirm .ui-button__primary{background:#f7f7f7;color:#111111}.projection-output__restore-confirm .ui-button__primary:active,.projection-output__restore-confirm .ui-button__primary:hover{background:#dedede}.projection-output__error,.projection-output__message{position:fixed;left:50%;z-index:4;padding:8px 14px;border-radius:999px;background:#171717d9;color:#f7f7f7;font-size:13px;opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .3s ease}.projection-output__message,.projection-output__stage-guidance{top:max(20px,env(safe-area-inset-top))}.projection-output__stage-guidance{position:fixed;left:50%;z-index:4;width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;flex-direction:column;gap:8px;pointer-events:none;transform:translateX(-50%)}.projection-output__stage-guidance .projection-output__message{position:static;max-width:100%;text-align:center;transform:none}.projection-output__stage-hint{background:#171717b8}.projection-output__message.is-window-preview{top:50%;z-index:6;width:max-content;max-width:calc(100vw - 48px);padding:20px 28px;border:1px solid #ffffff2e;border-radius:20px;background:#101010f2;box-shadow:0 24px 72px #000000b8,0 0 0 1px #52c7c533;font-size:clamp(18px,2vw,28px);font-weight:700;line-height:1.4;text-align:center;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.projection-output__error,.projection-output__message.is-visible{opacity:1}.projection-output__error{bottom:20px;background:#8f2f28e6}.projection-output__toolbar{--projection-toolbar-button-height:40px;--projection-toolbar-button-padding:0 12px;--projection-toolbar-button-font-size:16px;position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:5;width:max-content;max-width:calc(100vw - max(16px, env(safe-area-inset-left)) - max(16px, env(safe-area-inset-right)));min-height:48px;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:8px;padding:4px;overflow-x:auto;border:0;border-radius:10px;background:#171717d9;color:#f7f7f7;box-shadow:0 8px 30px #00000052;transform:translateX(-50%);transition:opacity .18s ease,transform .18s ease;touch-action:pan-x}.projection-output__toolbar.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%,12px)}.projection-output__toolbar-button{min-height:var(--projection-toolbar-button-height);flex:0 0 auto;padding:var(--projection-toolbar-button-padding);border:1px solid #ffffff38;border-radius:7px;background:#2b2b2b;color:#f7f7f7;cursor:pointer;font-size:var(--projection-toolbar-button-font-size);line-height:1;white-space:nowrap}.projection-output__toolbar-button:disabled{opacity:.45;cursor:not-allowed}.projection-output__toolbar-button:not(:disabled):hover{background:#3a3a3a}.projection-output__toolbar-button.is-active{border-color:#52c7c5;background:#234644;color:#ffffff}.projection-output__toolbar .projection-output__toolbar-divider{min-width:1px;width:1px;height:24px;flex:0 0 1px;padding:0;background:#ffffff38}.projection-output__toolbar-button--icon{min-width:var(--projection-toolbar-button-height);width:var(--projection-toolbar-button-height);max-width:var(--projection-toolbar-button-height);flex-basis:var(--projection-toolbar-button-height);padding-inline:0;display:grid;place-items:center}.projection-output__size-controls{min-height:38px;display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:0 10px;border:1px solid #ffffff38;border-radius:7px}.projection-output__size-controls label{display:inline-flex;align-items:center;gap:5px;color:#f7f7f7;font-size:13px}.projection-output__size-controls input{width:68px;height:30px;padding:0 6px;border:1px solid #ffffff38;border-radius:5px;appearance:textfield;-moz-appearance:textfield;background:#2b2b2b;color:#f7f7f7;font-size:16px}.projection-output__size-controls input::-webkit-inner-spin-button,.projection-output__size-controls input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}@media (any-pointer:coarse){.projection-output__toolbar{--projection-toolbar-button-height:52px;--projection-toolbar-button-padding:0 26px;--projection-toolbar-button-font-size:18px;bottom:max(8px,env(safe-area-inset-bottom));min-height:60px;gap:7px;padding:4px;border-radius:10px}.projection-output__size-controls{min-height:52px;gap:8px;padding:0 10px}.projection-output__size-controls label{font-size:14px}.projection-output__size-controls input{width:68px;height:36px}}.projection-output__touch-hint{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:4;color:#ffffff7d;font-size:11px;pointer-events:none}.projection-output.is-light-theme .projection-output__touch-hint{color:#05050580}@media (max-width:820px){.projection-header-actions{width:100%;justify-content:space-between}.projection-source-panel>.projection-panel__header{align-items:stretch;flex-direction:column}.projection-source-panel>.projection-panel__header>div:first-child{min-width:0}.projection-source-panel>.projection-panel__header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projection-source-panel .projection-panel__header-actions{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}.projection-form-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.projection-convert-workspace__body,.projection-pdf-stitching-workspace__body{grid-template-columns:minmax(0,1fr)}.projection-convert-workspace__settings,.projection-pdf-stitching-settings{padding-top:var(--space-24);padding-left:0;border-top:var(--border-width) solid var(--color-border-default);border-left:0}}@media (max-width:560px){.projection-console__content{padding:var(--space-16) var(--space-12) var(--space-32)}.projection-console__content--centered{align-content:start;overflow-y:auto}.projection-console>.ui-page-header .ui-page-header__copy{align-items:center;flex-direction:row;gap:var(--space-8)}.projection-console>.ui-page-header .ui-page-header__copy h1{flex:0 0 auto}.projection-console>.ui-page-header .ui-page-header__title-accessory{min-width:0;flex:1 1 auto;overflow:hidden}.projection-calibration-size,.projection-form-controls,.projection-metadata{grid-template-columns:1fr}.projection-header-actions,.projection-print-export>header{align-items:stretch;flex-direction:column}.projection-header-flow{align-items:flex-start;flex-direction:column}.projection-tool-tabs{max-width:100%}.projection-tool-tabs button{padding:0 var(--space-8)}.projection-readiness--header{grid-template-columns:1fr}.projection-readiness__connector{display:none}.projection-output__toolbar{max-width:calc(100vw - 24px);justify-content:flex-start}.projection-output__toolbar:is(.projection-output__toolbar--calibration,.projection-output__toolbar--verification){width:calc(100vw - 24px);flex-wrap:wrap;overflow-x:visible}.projection-output__toolbar--calibration .projection-output__size-controls{width:100%;justify-content:center}.projection-output__toolbar:is(.projection-output__toolbar--calibration,.projection-output__toolbar--verification)>.projection-output__toolbar-button{min-width:0;flex:1 1}.projection-output__nudge-control{padding:10px}.projection-output__nudge-control,.projection-output__rotation-control{top:auto;right:auto;bottom:max(132px,calc(env(safe-area-inset-bottom) + 120px));left:50%;transform:translateX(-50%)}.projection-output__rotation-control{padding:12px}.projection-output__nudge-pad button{width:40px;height:40px}}@media (any-pointer:coarse){.projection-output__rotate-prompt{position:fixed;inset:0;z-index:20;display:grid;align-content:center;justify-items:center;gap:var(--space-12);padding:max(var(--space-24),env(safe-area-inset-top)) max(var(--space-24),env(safe-area-inset-right)) max(var(--space-24),env(safe-area-inset-bottom)) max(var(--space-24),env(safe-area-inset-left));background:#050505;color:#f7f7f7;text-align:center}.projection-output__rotate-prompt strong{font-size:var(--font-size-heading-24)}.projection-output__rotate-prompt span{max-width:320px;color:#ffffffa8;font-size:var(--font-size-body-13);line-height:var(--line-height-body)}.projection-output__rotate-prompt button{min-height:var(--size-control-touch);margin-top:var(--space-8);padding:0 var(--space-16);border:1px solid #ffffff38;border-radius:var(--radius-8);background:#2b2b2b;color:#f7f7f7}}@media (orientation:landscape) and (max-height:560px){.projection-console__content--centered{align-content:start;overflow-y:auto}.projection-calibration-gate--setup{gap:var(--space-12)}.projection-calibration-gate__thumbnail{width:72px;height:72px}.projection-calibration-gate__body{gap:var(--space-16);padding:var(--space-16) var(--space-24)}.projection-calibration-gate__main{gap:var(--space-16)}.projection-output__stage-guidance{top:max(var(--space-8),env(safe-area-inset-top));left:max(var(--space-8),env(safe-area-inset-left));width:min(180px,calc(50vw - 100px));align-items:flex-start;transform:none}.projection-output__stage-guidance .projection-output__message{padding:var(--space-4) var(--space-8);border-radius:var(--radius-8);font-size:11px;text-align:left}.projection-output__toolbar{--projection-toolbar-button-height:clamp(30px,3.75vw,32px);--projection-toolbar-button-padding:0 clamp(5px,0.9vw,8px);--projection-toolbar-button-font-size:clamp(11px,1.4vw,12px);bottom:max(var(--space-4),env(safe-area-inset-bottom));min-height:clamp(36px,4.5vw,40px);gap:clamp(2px,.35vw,3px);padding:3px;border-radius:8px}.projection-output__toolbar--calibration .projection-output__size-controls{min-height:38px;gap:5px;padding:0 6px}.projection-output__toolbar--calibration .projection-output__size-controls label{font-size:12px}.projection-output__toolbar--calibration .projection-output__size-controls input{width:56px;height:28px;font-size:14px}.projection-output__toolbar:is(.projection-output__toolbar--calibration,.projection-output__toolbar--verification){width:max-content;max-width:calc(100vw - max(var(--space-8), env(safe-area-inset-left)) - max(var(--space-8), env(safe-area-inset-right)));flex-wrap:nowrap;overflow-x:auto}.projection-output__toolbar--calibration .projection-output__size-controls{width:auto}.projection-output__toolbar:is(.projection-output__toolbar--calibration,.projection-output__toolbar--verification)>.projection-output__toolbar-button{flex:0 0 auto}.projection-output__nudge-control,.projection-output__rotation-control{top:50%;right:max(var(--space-8),env(safe-area-inset-right));bottom:auto;left:auto;z-index:6;transform:translateY(-50%)}}@container (max-width: 1080px){.projection-console>.ui-page-header{align-items:stretch;flex-direction:column;gap:var(--space-12)}.projection-console>.ui-page-header .ui-page-header__actions,.projection-console>.ui-page-header .ui-page-header__copy{width:100%;flex:0 1 auto}.projection-console>.ui-page-header .projection-header-actions{width:100%;justify-content:space-between}}@container (max-width: 900px){.projection-console>.ui-page-header .projection-header-actions{align-items:flex-start;flex-wrap:wrap;gap:var(--space-12)}.projection-console>.ui-page-header .projection-header-flow{flex:1 1 100%}}@container (max-width: 640px){.projection-console>.ui-page-header .projection-header-actions,.projection-console>.ui-page-header .projection-header-flow{align-items:stretch;flex-direction:column}.projection-console>.ui-page-header .projection-header-statuses{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--space-8)}.projection-console>.ui-page-header .projection-readiness--header{grid-template-columns:repeat(2,max-content);gap:var(--space-8)}.projection-console>.ui-page-header .projection-readiness__connector{display:none}.projection-console>.ui-page-header .projection-readiness--header .projection-readiness__step{grid-template-columns:var(--size-control-24) max-content;gap:var(--space-4)}.projection-console>.ui-page-header .projection-status{gap:var(--space-4);padding:0 var(--space-6);white-space:nowrap}}.projection-conversion-sources{cursor:default;padding:var(--space-24);text-align:center}.projection-conversion-sources:hover{border-color:var(--color-border-strong);background:var(--color-bg-overlay-1)}.projection-conversion-sources__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-12);margin-top:var(--space-12)}*,:after,:before{box-sizing:border-box}html{min-width:320px}body,html{background:var(--color-bg-app)}body{margin:0;color:var(--color-text-primary);font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body)}button,input,select,textarea{font:inherit}a,button{color:inherit}a{text-decoration:none}:where(button,a,input,select,textarea):focus-visible{outline:var(--border-width) solid var(--color-border-focus)}:where(button,input,select,textarea):disabled{cursor:not-allowed}::selection{background:var(--color-focus-ring)}*{scrollbar-width:none;scrollbar-color:transparent transparent}:hover{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}::-webkit-scrollbar{width:0;height:0}:hover::-webkit-scrollbar{width:var(--space-4);height:var(--space-4)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:var(--radius-9999);background:transparent}:hover::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:var(--duration-instant)!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:var(--duration-instant)!important}}