.canvas-context-menu{position:fixed;z-index:200;width:160px;padding:5px;border:1px solid #d5cec2;border-radius:10px;background:#fffdf7;box-shadow:0 6px 20px #26323824}.canvas-context-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:36px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#23333f;font:inherit;font-size:13px;text-align:left;cursor:pointer}.canvas-context-menu button:hover:not(:disabled),.canvas-context-menu button:focus-visible{background:#edf4e4;outline:none}.canvas-context-menu button.danger{color:#ad4c3e}.canvas-context-menu button:disabled{opacity:.4;cursor:default}.layer-group-create-form button.layer-group-create-highlight{color:#355b2b;border-color:#7b9b63;background:#e5f0db;animation:layer-group-create-pulse 1.2s ease-in-out infinite}@keyframes layer-group-create-pulse{0%,to{box-shadow:0 0 #63844a00}50%{background:#d5e8c5;box-shadow:0 0 0 4px #63844a40}}@media (prefers-reduced-motion: reduce){.layer-group-create-form button.layer-group-create-highlight{animation:none;outline:2px solid #7b9b63;outline-offset:2px}}.chart-export-dialog{box-sizing:border-box;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;color:#263238;background:#fffdf7;border:1px solid #ded6ca;border-radius:10px;font-size:14px;box-shadow:0 16px 40px #1f29332e}.chart-export-dialog::backdrop{background:#1f293359}.chart-export-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e8e1d5}.chart-export-header h2{margin:0;font-size:17px}.chart-export-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:inherit}.chart-export-close:hover:not(:disabled){background:#f0ece3}.chart-export-body{padding:16px}.chart-export-body fieldset{display:grid;gap:18px;min-width:0;margin:0 0 18px;padding:0;border:0}.chart-export-field{display:grid;gap:8px;font-weight:600}.chart-export-format{position:relative;min-width:0}.chart-export-format-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;min-height:38px;padding:7px 12px;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:inherit;font:inherit;font-weight:400;text-align:left}.chart-export-format-trigger svg{flex-shrink:0;color:#766f67}.chart-export-format-trigger:hover:not(:disabled),.chart-export-format-trigger[aria-expanded=true]{border-color:#a9bb97;background:#fafbf5}.chart-export-format-list{position:absolute;z-index:2;top:calc(100% + 5px);left:0;right:0;display:grid;gap:3px;padding:5px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;box-shadow:0 6px 18px #1f29331f}.chart-export-format-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:7px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;font:inherit;font-weight:400;text-align:left}.chart-export-format-list button[aria-selected=true]{background:#edf4e4;color:#315a2c}.chart-export-format-list button:hover,.chart-export-format-list button:focus-visible{background:#e7efdf;outline:none;border-color:#a9bb97}.chart-export-size-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:8px;font-weight:600}.chart-export-size-heading output{color:#777267;font-size:13px;font-weight:400}.chart-export-resolution{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;border:1px solid #e4ddcf;border-radius:9px;background:#f0ece3}.chart-export-resolution button{flex:1;min-height:32px;border:1px solid transparent;border-radius:6px;background:transparent;color:#766f67;font-size:13px;font-weight:600}.chart-export-resolution button:hover:not(:disabled){background:#e7efdf}.chart-export-resolution button[aria-pressed=true]{color:#315a2c;border-color:#a9bb97;background:#edf4e4}.chart-export-options{display:grid;gap:4px;padding-top:8px;border-top:1px solid #e8e1d5}.chart-export-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}.chart-export-toggle-row small{display:block;margin-top:5px;color:#888174;font-size:12px}.chart-export-reference-label{display:inline-flex;align-items:center;gap:5px}.chart-export-options-title{font-weight:600}.chart-export-check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}.chart-export-check-options>.chart-export-reference-note{grid-column:1 / -1}.chart-export-check-option{display:flex;align-items:center;gap:2px;min-width:0}.chart-export-check-label{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;border-radius:5px;white-space:nowrap;cursor:pointer;touch-action:manipulation}.chart-export-check-option .chart-export-check-label{flex:0 1 auto}.chart-export-check-label input{flex:0 0 16px;width:16px;height:16px;margin:0;accent-color:#678653;cursor:pointer}.chart-export-check-label:has(input:disabled){opacity:.55;cursor:default}.chart-export-check-label input:disabled{cursor:default}.chart-export-check-option .chart-export-reference-help{flex-shrink:0}html[lang=en] .chart-export-check-label{white-space:normal;line-height:1.3;overflow-wrap:anywhere}.chart-export-watermark-options{display:grid;gap:4px;margin-top:4px;padding-top:6px;border-top:1px solid #e8e1d5}.chart-export-reference-help{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:#888174;cursor:pointer}.chart-export-reference-help:hover,.chart-export-reference-help:focus-visible{color:#315a2c;background:#edf4e4}.chart-export-reference-note{margin:0 0 4px;padding:7px 9px;border:1px solid #e8e1d5;border-radius:6px;background:#f8f4ec;color:#6b6258;font-size:12px;line-height:1.5}.chart-export-switch:disabled{opacity:.45}.chart-export-switch{display:flex;flex:0 0 44px;align-items:center;width:44px;height:44px;padding:0;border:0;border-radius:6px;background:transparent;position:relative}.chart-export-switch:before{content:"";position:absolute;top:10px;right:1px;bottom:10px;left:1px;border-radius:12px;background:#c7c5bd;transition:background .15s}.chart-export-switch span{position:relative;width:18px;height:18px;margin-left:4px;border-radius:50%;background:#fffdf7;box-shadow:0 1px 3px #00000026;transition:transform .15s}.chart-export-switch[aria-checked=true]:before{background:#678653}.chart-export-switch[aria-checked=true] span{transform:translate(18px)}.chart-export-download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;border:1px solid #a9bb97;border-radius:6px;background:#edf4e4;color:#315a2c;font-size:14px;font-weight:600}.chart-export-download:hover:not(:disabled){background:#e2ecd7}.chart-export-dialog button{cursor:pointer;touch-action:manipulation}.chart-export-dialog button:disabled,.chart-export-dialog fieldset:disabled{opacity:.55;cursor:default}.chart-export-dialog :focus-visible{outline:2px solid #678653;outline-offset:3px}.chart-export-error{color:#ad3828;font-size:13px;line-height:1.5}.chart-export-dialog.desktop-export-popover{position:fixed;inset:auto;top:var(--topbar-popover-top);left:var(--topbar-popover-left);z-index:150;width:var(--topbar-popover-width);max-height:calc(100dvh - var(--topbar-popover-top) - 12px);margin:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.chart-export-dialog.desktop-export-popover.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .16s ease,transform .16s ease,visibility 0s}.chart-export-dialog.desktop-export-popover{font-size:13px}.desktop-export-popover .chart-export-header{justify-content:flex-start;gap:8px;padding:9px 12px}.desktop-export-popover .chart-export-header h2{font-size:15px}.desktop-export-popover .chart-export-body{padding:12px}.desktop-export-popover .chart-export-body fieldset{gap:12px;margin-bottom:12px}.desktop-export-popover .chart-export-field{gap:6px}.desktop-export-popover .chart-export-size-heading{gap:6px 8px;margin-bottom:6px}.desktop-export-popover .chart-export-size-heading output{font-size:12px}.desktop-export-popover .chart-export-format-trigger{min-height:34px;padding:6px 10px}.desktop-export-popover .chart-export-resolution button{min-height:28px}.desktop-export-popover .chart-export-toggle-row,.desktop-export-popover .chart-export-check-label{min-height:36px}.desktop-export-popover .chart-export-switch{height:36px}.desktop-export-popover .chart-export-switch:before{top:6px;bottom:6px}.desktop-export-popover .chart-export-download{min-height:34px;font-size:13px}.desktop-export-popover .chart-export-back{width:28px;height:28px}.chart-export-back{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:inherit}.chart-export-back:hover:not(:disabled){background:#f0ece3}@media (prefers-reduced-motion: reduce){.chart-export-dialog.desktop-export-popover{transition:none}}@media (max-width: 480px){.chart-export-close{width:44px;height:44px}.chart-export-format-trigger,.chart-export-format-list button,.chart-export-resolution button,.chart-export-download{min-height:44px}}@media (max-width: 720px){.chart-export-dialog{position:fixed;top:calc(var(--mobile-dialog-top, 0px) + max(10px,env(safe-area-inset-top)));left:calc(var(--mobile-dialog-left, 0px) + max(10px,env(safe-area-inset-left)));right:auto;bottom:auto;width:calc(var(--mobile-dialog-width, 100vw) - max(10px,env(safe-area-inset-left)) - max(10px,env(safe-area-inset-right)));max-width:none;max-height:calc(var(--mobile-dialog-height, 100dvh) - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));margin:0}}.chart-share-description{margin:0;font-size:12px;line-height:1.7;color:#777267}.chart-share-submit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chart-share-text-input{box-sizing:border-box;width:100%;min-width:0;min-height:38px;padding:7px 10px;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:inherit;font-weight:400}.chart-share-watermark-settings{display:grid;gap:12px}.chart-export-field.chart-share-watermark-size{position:relative;gap:5px}.chart-share-watermark-size>span:first-child{display:flex;align-items:center;min-height:22px;padding-right:24px}.chart-share-watermark-size .number-stepper{grid-template-columns:27px minmax(0,1fr) 27px}.chart-share-watermark-size .number-stepper input{box-sizing:border-box;width:100%;min-width:0;height:30px;padding:6px 2px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#1f2933;font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.chart-share-watermark-size .number-stepper input::-webkit-inner-spin-button,.chart-share-watermark-size .number-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.chart-share-watermark-size .number-stepper-reset{position:absolute;top:0;right:2.5px;width:22px;height:22px}.chart-share-watermark-size .number-stepper-reset-placeholder{display:none}.stitch-property-toolbar.chart-share-watermark-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.chart-share-access-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-share-access-toggle{display:flex;align-items:center;gap:6px;font-weight:400;white-space:nowrap}.chart-share-opacity{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:8px;align-items:center}.chart-share-opacity input[type=range]{min-width:0;width:100%;accent-color:#678653}.desktop-export-popover .chart-share-text-input{min-height:34px;padding:6px 10px}@media (max-width: 480px){.chart-export-dialog .chart-share-text-input{min-height:44px}}.chart-share-notice{margin:8px 0 0;font-size:12px;line-height:1.6;color:#315a2c}.chart-share-link>div{display:flex;gap:6px;min-width:0}.chart-share-link input{min-width:0;flex:1;width:0;font-size:12px;font-weight:400}.chart-share-link button{display:grid;place-items:center;width:32px;flex-shrink:0}.chart-share-dialog .chart-share-link input{min-height:34px;padding:7px 10px;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:#31414e}.chart-share-dialog .chart-share-link button{border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:#31414e}.chart-share-dialog .chart-share-link button:hover{background:#edf4e4;border-color:#a9bb97}.chart-share-dialog .chart-share-manage-action{border-color:#ded6ca;background:#fffdf7;color:#31414e;font-weight:400}.chart-share-dialog .chart-share-review-status{border-left:3px solid #c8c0b2;background:#f8f5ec}.chart-share-dialog .chart-share-review-status.is-approved{border-left-color:#678653;background:#f2f6ec}.chart-share-dialog .chart-share-review-status.is-pending{border-left-color:#ba9651}.chart-share-dialog .chart-share-review-status:is(.is-rejected,.is-taken-down){border-left-color:#ad6655}.chart-share-dialog .chart-export-header{position:sticky;top:0;z-index:3;background:#fffdf7}.chart-share-dialog .chart-share-notice{padding:8px 10px;border:1px solid #d7e2cb;border-radius:6px;background:#f2f6ec}.shared-chart-page{height:100dvh;display:flex;flex-direction:column;color:#263238;background:#efebe2}.shared-chart-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #ded6ca;background:#fffdf7}.shared-chart-header h1{margin:0;font-size:17px;overflow-wrap:anywhere}.shared-chart-header p{margin:0;font-size:12px;color:#777267}.shared-chart-heading{flex:1;min-width:160px}.shared-chart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.shared-chart-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px}.shared-chart-zoom,.shared-chart-file-actions{display:flex;align-items:center;gap:6px}.shared-chart-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 16px max(8px,env(safe-area-inset-bottom));border-top:1px solid #ded6ca;background:#fffdf7}.shared-chart-zoom{flex:0 1 340px;min-width:0;max-width:100%;margin-left:auto;gap:10px}.shared-chart-zoom input[type=range]{flex:1;min-width:60px;width:160px;height:36px;margin:0;accent-color:#678653;cursor:pointer;touch-action:none}.shared-chart-zoom output{min-width:42px;font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.shared-chart-zoom button{flex-shrink:0;white-space:nowrap}.shared-chart-page button,.shared-chart-actions a,.shared-chart-message a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #ded6ca;border-radius:7px;background:#fffdf7;color:#31414e;font:inherit;font-size:13px;text-decoration:none;touch-action:manipulation}.shared-chart-page .shared-chart-primary,.shared-chart-message button{border-color:#a9bb97;background:#edf4e4;color:#315a2c;font-weight:600}.shared-chart-page :is(button,a):hover:not(:disabled){border-color:#a9bb97;background:#edf4e4}.shared-chart-page :focus-visible{outline:2px solid #678653;outline-offset:2px}.shared-chart-header h1{line-height:1.5}.shared-chart-heading p{margin-top:4px;line-height:1.6}.shared-chart-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;cursor:grab;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}.shared-chart-viewport:active{cursor:grabbing}.shared-chart-stage{width:max-content;min-width:100%;min-height:100%;display:grid;place-items:center;box-sizing:border-box;padding:24px}.shared-chart-paper{flex-shrink:0;box-shadow:0 2px 12px #26323822;background:#fffdf7}.shared-chart-paper>svg{display:block;width:100%;height:100%}.shared-chart-paper [role=button]{cursor:pointer}.shared-chart-rows{flex:1 1 300px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-height:20dvh;overflow:auto;font-size:12px}.shared-chart-rows button[aria-pressed=true]{background:#edf4e4;border-color:#a9bb97;color:#315a2c}.shared-chart-message{margin:auto;padding:28px;width:min(480px,calc(100% - 32px));border:1px solid #ded6ca;border-radius:12px;background:#fffdf7;box-shadow:0 12px 32px #26323812;text-align:center;line-height:1.7}.shared-chart-message h1{margin:0 0 12px;font-size:21px}.shared-chart-message p{color:#777267;font-size:14px}.shared-chart-message a{margin-left:8px}.shared-chart-error{padding:6px 16px;margin:0;color:#a33b28;background:#fffdf7;font-size:13px}@media (max-width: 720px){.shared-chart-header{padding:max(10px,env(safe-area-inset-top)) 12px 10px;gap:12px}.shared-chart-heading{flex-basis:100%;min-width:0}.shared-chart-actions{width:100%;gap:8px}.shared-chart-bottom{padding-left:12px;padding-right:12px}.shared-chart-zoom input[type=range]{height:44px}.shared-chart-file-actions{width:100%}.shared-chart-file-actions>*{flex:1;white-space:nowrap}.shared-chart-page button,.shared-chart-actions a,.shared-chart-message a{min-width:44px;min-height:44px}.shared-chart-stage{padding:12px}.shared-chart-rows>span{flex-basis:100%;line-height:1.6;color:#777267}}@media (max-width: 820px),(pointer: coarse){.chart-share-dialog:not(.desktop-export-popover) :is(.chart-share-text-input,.chart-share-link input,.chart-export-format-trigger){min-height:44px;font-size:16px}.chart-share-dialog:not(.desktop-export-popover) :is(.chart-export-close,.chart-share-link button,.chart-share-watermark-toolbar button){min-width:44px;min-height:44px}.chart-share-dialog:not(.desktop-export-popover) .chart-export-download{min-height:44px}.chart-share-dialog:not(.desktop-export-popover) .chart-export-format-list button{min-height:44px}.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-size .number-stepper{grid-template-columns:44px minmax(0,1fr) 44px}.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-size .number-stepper :is(button,input){height:44px;font-size:16px}.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-size .number-stepper button{width:44px;min-width:44px}.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-size>span:first-child{min-height:44px;padding-right:48px}.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-size .number-stepper-reset{width:44px;height:44px;right:0}.chart-export-dialog:not(.desktop-export-popover) .chart-share-opacity input[type=range]{height:44px}.shared-chart-page button,.shared-chart-actions a{min-width:44px;min-height:44px}}@media (max-width: 820px),(pointer: coarse){.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-settings .chart-share-text-input{min-height:44px;font-size:16px}.chart-export-dialog:not(.desktop-export-popover) .chart-share-watermark-toolbar button{min-width:44px;min-height:44px}}.row-annotation-panel{position:fixed;z-index:65;right:20px;top:72px;display:flex;flex-direction:column;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow:hidden;padding:14px;border:1px solid #c8c0b2;border-radius:12px;background:#fffdf7;box-shadow:0 8px 30px #24344726;color:#243447}.row-annotation-panel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.row-annotation-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.row-annotation-panel header:active{cursor:grabbing}.row-annotation-panel header>svg{flex:none;color:#948c80}.row-annotation-panel header strong{margin-right:auto}.row-annotation-panel p{font-size:12px;line-height:1.6;color:#6b6258;margin:8px 0}.row-annotation-panel button,.row-annotation-panel input,.row-annotation-panel select{min-height:34px;min-width:0}.row-annotation-panel button{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #c8d4b9;border-radius:7px;background:#edf4e4;color:#34462b;padding:6px 9px;cursor:pointer}.row-annotation-panel button:hover:not(:disabled){background:#e3ecd7}.row-annotation-panel button:disabled{opacity:.45;cursor:default}.row-annotation-panel input:not([type=checkbox]),.row-annotation-panel select{border:1px solid #d8d0c3;border-radius:7px;background:#fffdf7;color:#243447;padding:5px 8px}.row-annotation-panel button:focus-visible,.row-annotation-panel input:focus-visible,.row-annotation-panel select:focus-visible{outline:2px solid #6c8754;outline-offset:2px}.row-annotation-panel header button{height:34px;padding-top:0;padding-bottom:0;font-size:12px}.row-annotation-panel header .row-annotation-collapse{width:34px;padding:0}.row-annotation-panel header button:last-child{width:34px;padding:0;font-size:20px}.row-annotation-panel.is-collapsed .row-annotation-panel-body,.row-annotation-panel.is-collapsed .row-annotation-next-step{display:none}.row-annotation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.row-annotation-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px}.row-annotation-select-menu{position:relative}.row-annotation-panel .row-annotation-select-trigger{width:100%;justify-content:space-between;gap:8px;padding:6px 10px;border-color:#d8d0c3;background:#fffdf7;color:#243447;font-size:12px;font-weight:400;text-align:left}.row-annotation-panel button.row-annotation-select-trigger:hover:not(:disabled){border-color:#9caf8b;background:#f8faf4}.row-annotation-select-trigger svg{flex:none;color:#6f7b68;transition:transform .16s ease}.row-annotation-select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.row-annotation-select-options{position:absolute;z-index:2;top:calc(100% + 4px);left:0;right:0;padding:4px;border:1px solid #c8d4b9;border-radius:9px;background:#fffdf7;box-shadow:0 8px 22px #24344725}.row-annotation-panel .row-annotation-select-options button{width:100%;justify-content:space-between;padding:7px 9px;border:0;background:transparent;color:#243447;font-size:12px;font-weight:400;text-align:left}.row-annotation-panel .row-annotation-select-options button:hover:not(:disabled),.row-annotation-panel .row-annotation-select-options button:focus-visible{background:#f0f5e9}.row-annotation-panel .row-annotation-select-options button[aria-selected=true]{color:#3c6531;font-weight:600}.row-annotation-select-options svg{flex:none}.row-annotation-fields input,.row-annotation-fields select{width:100%}.row-annotation-appearance{padding-top:10px;border-top:1px solid #ded6ca;font-size:12px}.row-annotation-appearance-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:8px 0}.row-annotation-panel .row-annotation-appearance-toolbar button{position:relative;padding:6px 4px;border-color:#d8d0c3;background:#fffdf7;color:#5f574f}.row-annotation-panel .row-annotation-appearance-toolbar button.is-active{border-color:#a9bed4;background:#e9eef1;color:#193553}.row-annotation-appearance-toolbar button:after{content:attr(data-tooltip);position:absolute;z-index:3;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);padding:5px 8px;border-radius:5px;background:#252b30;color:#fff;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap;box-shadow:0 2px 5px #0000002e;pointer-events:none;opacity:0}.row-annotation-appearance-toolbar button:before{content:"";position:absolute;z-index:3;bottom:calc(100% + 3px);left:50%;width:8px;height:8px;background:#252b30;transform:translate(-50%) rotate(45deg);pointer-events:none;opacity:0}.row-annotation-appearance-toolbar button:last-child:after{left:auto;right:0;transform:none}.row-annotation-appearance-toolbar button:focus-visible:before,.row-annotation-appearance-toolbar button:focus-visible:after{opacity:1}@media (hover: hover){.row-annotation-appearance-toolbar button:hover:before,.row-annotation-appearance-toolbar button:hover:after{opacity:1}}.row-annotation-appearance-controls{margin:8px 0 10px}.row-annotation-appearance-controls input{width:100%}.row-annotation-number-stepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 34px;align-items:center;gap:6px}.row-annotation-panel .row-annotation-number-stepper button{padding:0;height:34px;border-color:#d8d0c3;background:#fffdf7;color:#243447;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.row-annotation-number-stepper input{text-align:center;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.row-annotation-number-stepper input::-webkit-inner-spin-button,.row-annotation-number-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row-annotation-panel .property-color-control input[type=color]{width:38px;padding:3px}.row-annotation-panel .color-swatch-row button{min-height:28px;padding:0;border:2px solid #fffdf7;border-radius:999px}.row-annotation-opacity-row{padding:4px 0 4px 14px}.row-annotation-panel .text-opacity-slider input[type=range]{width:calc(100% + 28px);min-height:28px;border:0;padding:0;background:transparent}.row-annotation-opacity-row>input{text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.row-annotation-opacity-row>input::-webkit-inner-spin-button,.row-annotation-opacity-row>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row-annotation-options,.row-annotation-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.row-annotation-options label{display:flex;align-items:center;gap:4px;font-size:12px}.row-annotation-options input{min-height:auto}.row-annotation-actions button{font-size:12px;flex:1 1 135px}.row-annotation-order-editor{display:grid;gap:8px;padding:10px 0;border-top:1px solid #ded6ca;font-size:12px}.row-annotation-order-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.row-annotation-order-heading span,.row-annotation-order-hint{color:#6b6258;font-size:11px}.row-annotation-order-target{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.row-annotation-order-target input{width:100%;text-align:center}.row-annotation-order-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.row-annotation-order-actions button{width:100%}.row-annotation-panel .row-annotation-order-actions button:last-child{border-color:#d8d0c3;background:#fffdf7;color:#5f574f}.row-annotation-list{border-top:1px solid #ded6ca;padding-top:8px}.row-annotation-entry{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:stretch;gap:0;width:100%;margin:8px 0;border:1px solid #ded6ca;border-radius:7px;background:transparent;color:#243447}.row-annotation-entry>button{min-height:38px;border:0;border-radius:0;background:transparent;color:inherit}.row-annotation-panel .row-annotation-entry>button:hover:not(:disabled){background:transparent;color:#193553}.row-annotation-entry.is-active{border-color:#a9bed4;background:#e9eef1;color:#193553}.row-annotation-entry.is-dragging{opacity:.45}.row-annotation-entry.is-drop-before:before,.row-annotation-entry.is-drop-after:after{content:"";position:absolute;z-index:2;left:4px;right:4px;height:3px;border-radius:999px;background:#779763;box-shadow:0 0 0 1px #fffdf7;pointer-events:none}.row-annotation-entry.is-drop-before:before{top:-4px}.row-annotation-entry.is-drop-after:after{bottom:-4px}.row-annotation-entry .row-annotation-drag-handle{width:34px;padding:4px;cursor:grab;touch-action:none;color:#71875d}.row-annotation-entry .row-annotation-drag-handle:active{cursor:grabbing}.row-annotation-entry .row-annotation-select{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px;justify-content:stretch;text-align:left;padding:4px 6px}.row-annotation-select strong{font-size:12px;white-space:nowrap}.row-annotation-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-annotation-list .is-active .row-annotation-drag-handle,.row-annotation-list .is-active small{color:#3d5a80}.row-annotation-entry .row-annotation-remove{padding:4px 6px}.row-annotation-list small{color:#87602c;font-size:11px}.row-annotation-next-step{display:grid;flex:none;gap:7px;margin-top:12px;padding:11px;border:1px solid #d7dfcf;border-radius:9px;background:#f5f8f0;font-size:12px}.row-annotation-next-step p{margin:0}.row-annotation-next-step button{width:100%}.row-annotation-overlay [data-draggable-label]{cursor:grab;touch-action:none}.row-annotation-overlay [data-draggable-label]:active{cursor:grabbing}.phone-touch-layout .row-annotation-panel{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);right:8px;width:calc(100vw - 16px);max-height:76dvh;z-index:105}.phone-touch-layout .row-annotation-panel button,.phone-touch-layout .row-annotation-panel select,.phone-touch-layout .row-annotation-fields input,.phone-touch-layout .row-annotation-appearance-controls input{min-height:44px}.phone-touch-layout .row-annotation-panel header button{height:44px}.phone-touch-layout .row-annotation-panel header .row-annotation-collapse{width:44px}.phone-touch-layout .row-annotation-panel header button:last-child{width:44px}.phone-touch-layout .row-annotation-number-stepper{grid-template-columns:44px minmax(0,1fr) 44px 44px}.row-annotation-panel p.row-annotation-group-hint{color:#b74534}@media (any-pointer: coarse){.row-annotation-panel button,.row-annotation-panel select,.row-annotation-fields input,.row-annotation-appearance-controls input{min-height:44px}.row-annotation-panel header button,.row-annotation-panel header .row-annotation-collapse,.row-annotation-panel header button:last-child{width:44px;height:44px}.row-annotation-panel input:not([type=checkbox]),.row-annotation-panel select{font-size:16px}.row-annotation-panel .row-annotation-number-stepper{grid-template-columns:44px minmax(0,1fr) 44px 44px}.row-annotation-entry{grid-template-columns:44px minmax(0,1fr) auto}.row-annotation-entry .row-annotation-drag-handle{width:44px}}.chart-share-management{min-width:0}.chart-share-management.admin-panel{display:block;align-self:start}.chart-share-management-heading,.chart-share-review-detail header{display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-share-management-heading h2,.chart-share-review-detail h3{margin:0}.chart-share-status-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.chart-share-status-tabs button[aria-pressed=true]{color:#315a2c;background:#edf4e4;border-color:#a9bb97}.chart-share-status-tabs span{opacity:.7;margin-left:4px}.chart-share-list-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px}.chart-share-management .chart-share-sort-field{display:none}.chart-share-list-filters label,.chart-share-pagination label,.chart-share-review-actions label{display:grid;gap:5px;font-size:12px;color:#5f574f}.chart-share-search{flex:1 1 220px}.chart-share-search span{display:flex;align-items:center;gap:4px}.chart-share-management input,.chart-share-management select,.chart-share-review-detail input,.chart-share-review-detail textarea{box-sizing:border-box;min-width:0;min-height:34px;padding:6px 8px;border:1px solid #c8c0b2;border-radius:7px;color:#1f2933;background:#fffdf7}.chart-share-management button,.chart-share-review-detail button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:6px 10px;border:1px solid #d4ccbf;border-radius:7px;background:#fffdf7;color:#31414e;cursor:pointer}.chart-share-management button:disabled,.chart-share-review-detail button:disabled{opacity:.5;cursor:default}.chart-share-table-wrap{overflow:auto}.chart-share-review-table{width:100%;border-collapse:collapse;font-size:13px}.chart-share-review-table th,.chart-share-review-table td{padding:10px 8px;border-bottom:1px solid #e5dfd3;text-align:left;vertical-align:middle}.chart-share-review-table th{background:#f4f1e9;white-space:nowrap}.chart-share-review-table th button{padding:0;border:0;background:transparent;font-size:inherit;font-weight:600}.chart-share-sort-indicator{flex-shrink:0;opacity:.55}.chart-share-sort-indicator.is-active{color:#315a2c;opacity:1}.chart-share-review-table small{display:block;font-size:11px;color:#777267;margin-top:5px;overflow-wrap:anywhere}.chart-share-thumbnail{width:90px;height:64px;overflow:hidden}.chart-share-thumbnail img{width:100%;height:100%;object-fit:contain}.chart-share-badge{display:inline-block;padding:3px 6px;border-radius:5px;background:#eeece6;white-space:nowrap}.chart-share-badge.is-pending{background:#fff0cf;color:#87610d}.chart-share-badge.is-approved{background:#e8f1de;color:#315a2c}.chart-share-badge.is-rejected,.chart-share-badge.is-taken-down{background:#fae8e1;color:#a33b28}.chart-share-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;font-size:13px}.chart-share-pagination label,.chart-share-pagination form{display:flex;align-items:center;gap:6px}.chart-share-pagination input{width:60px}.chart-share-detail-backdrop,.chart-share-owner-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:grid;place-items:center;padding:16px;background:#1f293366}.chart-share-owner-backdrop{z-index:390}.chart-share-owner-dialog,.chart-share-review-detail{box-sizing:border-box;width:min(1200px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;border:1px solid #ded6ca;border-radius:12px;color:#263238;background:#fffdf7}.chart-share-review-detail{width:min(900px,100%)}.chart-share-review-detail p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.chart-share-review-preview{max-height:52dvh;overflow:auto;border:1px solid #ded6ca;background:#e9e5dc;padding:12px}.chart-share-review-preview>div{margin:auto}.chart-share-review-preview svg{display:block;width:100%;height:auto}.chart-share-preview-tools,.chart-share-owner-actions,.chart-share-review-actions>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.chart-share-owner-actions input{flex:1 1 100%}.chart-share-owner-actions .chart-share-notice{flex:1 1 100%;margin:0}.chart-share-owner-access{display:flex;align-items:center;gap:6px;font-size:13px}.chart-share-review-actions textarea{width:100%;min-height:70px;resize:vertical}.chart-share-review-detail details{border-top:1px solid #ded6ca;padding-top:12px;font-size:12px;line-height:1.8}.chart-share-review-detail li{overflow-wrap:anywhere}.chart-share-review-status{border:1px solid #e5dfd3;border-radius:7px;padding:8px;font-size:12px;line-height:1.6}.chart-share-review-status p{margin:4px 0 0;color:#777267;overflow-wrap:anywhere}.chart-share-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:#777267}.chart-share-preview-tools output{min-width:48px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.chart-share-list-message{display:grid;place-items:center;gap:8px;padding:32px 16px;color:#777267;font-size:13px;text-align:center}.chart-share-list-message p{margin:0}.chart-share-owner-dialog,.chart-share-owner-detail{box-shadow:0 16px 40px #1f29332e;overscroll-behavior:contain;scrollbar-width:thin}.chart-share-owner-dialog{width:min(1160px,100%)}.chart-share-owner-management h2{font-size:20px}.chart-share-owner-detail h3{min-width:0;overflow-wrap:anywhere;font-size:18px;line-height:1.5}.chart-share-owner-management .chart-share-management-heading,.chart-share-owner-detail>header{position:sticky;top:-20px;z-index:2;padding:12px 0;background:#fffdf7;border-bottom:1px solid #e8e1d5}.chart-share-owner-management .chart-share-management-heading>button,.chart-share-owner-detail header>button{flex:0 0 34px;width:34px;padding:0}.chart-share-owner-management :is(button,input,select),.chart-share-owner-detail :is(button,input,select){font-size:13px;border-radius:7px}.chart-share-owner-management button,.chart-share-owner-detail button{touch-action:manipulation}.chart-share-owner-management :focus-visible,.chart-share-owner-detail :focus-visible{outline:2px solid #678653;outline-offset:2px}.chart-share-owner-management button:hover:not(:disabled),.chart-share-owner-detail button:hover:not(:disabled){border-color:#a9bb97;background:#edf4e4}.chart-share-owner-management select,.chart-share-owner-detail select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23766f67' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.chart-share-owner-management .chart-share-status-tabs{gap:4px;margin:16px 0;padding:4px;width:fit-content;max-width:100%;border:1px solid #e4ddcf;border-radius:9px;background:#f0ece3}.chart-share-owner-management .chart-share-status-tabs button{border-color:transparent;background:transparent;white-space:nowrap}.chart-share-owner-management .chart-share-status-tabs button[aria-pressed=true]{border-color:#a9bb97;background:#edf4e4}.chart-share-owner-management .chart-share-list-filters{padding:12px;border:1px solid #e8e1d5;border-radius:8px;background:#f8f5ec}.chart-share-owner-management .chart-share-list-filters input{width:100%}.chart-share-owner-management .chart-share-filter-toggle{display:none}.chart-share-owner-management .chart-share-table-wrap{border:1px solid #e8e1d5;border-radius:8px}.chart-share-owner-management .chart-share-review-table td{padding:14px 10px}.chart-share-owner-management .chart-share-review-table td strong{display:block;max-width:280px;overflow-wrap:anywhere;font-weight:600}.chart-share-owner-management .chart-share-review-table tbody tr:last-child td{border-bottom:0}.chart-share-owner-management .chart-share-review-table small{line-height:1.5}.chart-share-owner-management .chart-share-pagination{padding-top:12px;border-top:1px solid #e8e1d5}.chart-share-owner-detail .chart-share-review-preview{display:flex;align-items:flex-start;height:clamp(180px,40dvh,440px);max-height:none;border-radius:8px;overscroll-behavior:contain;touch-action:pan-x pan-y}.chart-share-owner-detail .chart-share-review-preview>div{flex-shrink:0;margin:auto;background:#fffdf7;box-shadow:0 2px 8px #26323814}.chart-share-owner-detail .chart-share-preview-tools{gap:6px}.chart-share-owner-detail .chart-share-owner-actions{padding-top:14px;border-top:1px solid #e8e1d5;gap:10px}.chart-share-owner-detail .chart-share-edit-action{color:#315a2c;border-color:#a9bb97;background:#edf4e4}.chart-share-review-detail .chart-share-delete-action{color:#a74634;border-color:#e3bdb2;background:#fff8f3}.chart-share-review-detail .chart-share-delete-action:hover:not(:disabled){color:#913c2c;border-color:#cb9585;background:#fff0e8}.chart-share-delete-confirm{box-sizing:border-box;width:100%;min-width:0;margin:12px 0;padding:14px;border:1px solid #e3bdb2;border-radius:8px;background:#fff8f3}.chart-share-delete-confirm h4{margin:0 0 8px;font-size:15px}.chart-share-delete-confirm p{margin:0 0 14px;color:#766056;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.chart-share-delete-confirm>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.chart-share-owner-detail .chart-share-owner-access{margin-right:auto}.chart-share-owner-detail .chart-share-owner-actions>input{width:100%;color:#5f574f}.chart-share-owner-detail .chart-share-notice{padding:8px 10px;border:1px solid #d7e2cb;border-radius:6px;background:#f2f6ec}.chart-share-owner-detail summary{padding:4px 0;color:#5f574f;cursor:pointer}@media (max-width: 820px){.chart-share-review-table,.chart-share-review-table tbody{display:block}.chart-share-review-table thead{display:none}.chart-share-review-table tr{display:grid;gap:5px;border:1px solid #ded6ca;border-radius:8px;padding:10px;margin-bottom:12px}.chart-share-review-table td{display:grid;grid-template-columns:76px minmax(0,1fr);gap:6px;padding:3px 0;border:0}.chart-share-review-table td:before{content:attr(data-label);color:#777267}.chart-share-review-table td small{grid-column:2}.chart-share-list-filters label{flex:1 1 140px}.chart-share-management .chart-share-sort-field{display:grid}.chart-share-detail-backdrop,.chart-share-owner-backdrop{padding:8px}.chart-share-owner-dialog,.chart-share-review-detail{padding:12px;max-height:calc(100dvh - 16px)}.chart-share-management button,.chart-share-review-detail button,.chart-share-management input,.chart-share-management select{min-height:44px}}@media (max-width: 1050px),(hover: none) and (pointer: coarse){.chart-share-owner-management .chart-share-review-table{display:block}.chart-share-owner-management .chart-share-review-table thead{display:none}.chart-share-owner-management .chart-share-review-table tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:12px}.chart-share-owner-management .chart-share-table-wrap{border:0;overflow:visible}.chart-share-owner-management .chart-share-review-table tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;margin:0;border:1px solid #ded6ca;border-radius:9px;background:#fffdf7}.chart-share-owner-management .chart-share-review-table td{display:flex;flex-direction:column;align-items:flex-start;grid-column:span 2;gap:4px;padding:0;border:0;min-width:0;overflow-wrap:anywhere}.chart-share-owner-management .chart-share-review-table td:before{content:attr(data-label);color:#777267;font-size:11px}.chart-share-owner-management .chart-share-review-table td[data-label=预览]{grid-column:1;grid-row:1 / 3}.chart-share-owner-management .chart-share-review-table td[data-label=图解名称]{grid-column:2 / -1;grid-row:1}.chart-share-owner-management .chart-share-review-table td[data-label=状态]{grid-column:2 / -1;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 8px}.chart-share-owner-management .chart-share-review-table td:is([data-label=预览],[data-label=图解名称],[data-label=状态],[data-label=操作]):before{display:none}.chart-share-owner-management .chart-share-thumbnail{width:100%;min-height:76px;padding:4px;font-size:12px;background:#f8f5ec}.chart-share-owner-management .chart-share-review-table small{margin:0;font-size:10px}.chart-share-owner-management .chart-share-review-table td[data-label=操作]{grid-column:1 / -1;align-items:stretch;padding-top:10px;border-top:1px solid #e8e1d5}.chart-share-owner-management .chart-share-sort-field{display:grid}.chart-share-owner-management .chart-share-list-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.chart-share-owner-management .chart-share-list-filters label{min-width:0}.chart-share-owner-management .chart-share-search{grid-column:span 3}.chart-share-owner-management .chart-share-list-filters>button{grid-column:span 2}.chart-share-owner-management .chart-share-list-filters .chart-share-filter-toggle{display:inline-flex;grid-column:span 1}.chart-share-owner-management .chart-share-list-filters:not(.is-expanded)>label:not(.chart-share-search),.chart-share-owner-management .chart-share-list-filters:not(.is-expanded)>button:not(.chart-share-filter-toggle){display:none}.chart-share-owner-management :is(button,input,select),.chart-share-owner-detail :is(button,input,select){min-height:44px}.chart-share-owner-management button,.chart-share-owner-detail button{min-width:44px}}@media (max-width: 820px){.chart-share-owner-management .chart-share-management-heading,.chart-share-owner-detail>header{top:-12px}}@media (max-width: 600px){.chart-share-owner-backdrop,.chart-share-owner-management .chart-share-detail-backdrop{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.chart-share-owner-dialog,.chart-share-owner-detail{max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));padding:12px}.chart-share-owner-management .chart-share-management-heading,.chart-share-owner-detail>header{top:-12px;padding:8px 0}.chart-share-owner-management h2{font-size:18px}.chart-share-owner-management .chart-share-status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.chart-share-owner-management .chart-share-status-tabs button{padding:6px 4px}.chart-share-owner-management .chart-share-list-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.chart-share-owner-management .chart-share-list-filters{grid-template-columns:minmax(0,1fr) auto}.chart-share-owner-management .chart-share-list-filters.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-share-owner-management .chart-share-list-filters .chart-share-search{grid-column:span 1}.chart-share-owner-management .chart-share-list-filters>label:nth-of-type(2){grid-column:1 / -1}.chart-share-owner-management .chart-share-list-filters>button{grid-column:span 1}.chart-share-owner-management .chart-share-review-table tbody{grid-template-columns:minmax(0,1fr)}.chart-share-owner-management .chart-share-pagination{gap:8px;justify-content:center}.chart-share-owner-management .chart-share-pagination form{flex-basis:100%;justify-content:center}.chart-share-owner-detail .chart-share-owner-actions>button{flex:1 1 auto}.chart-share-owner-detail .chart-share-owner-access{flex:1 1 auto;justify-content:flex-end;margin:0}.chart-share-owner-management :is(input,select),.chart-share-owner-detail :is(input,select){font-size:16px}.chart-share-owner-detail .chart-share-review-preview{height:clamp(160px,34dvh,360px)}}@media (pointer: coarse){.chart-share-owner-management :is(button,input,select),.chart-share-owner-detail :is(button,input,select){min-height:44px}.chart-share-owner-management button,.chart-share-owner-detail button{min-width:44px}.chart-share-owner-management :is(input,select),.chart-share-owner-detail :is(input,select){font-size:16px}}@media (min-width: 601px) and (max-width: 1050px),(min-width: 601px) and (hover: none) and (pointer: coarse){.chart-share-owner-dialog{width:min(900px,100%);padding:16px}.chart-share-owner-management .chart-share-management-heading{top:-16px;padding:8px 0}.chart-share-owner-management .chart-share-status-tabs{box-sizing:border-box;width:100%}.chart-share-owner-management .chart-share-status-tabs button{flex:1 1 auto}.chart-share-owner-management .chart-share-list-filters{grid-template-columns:minmax(0,1fr) auto;padding:10px}.chart-share-owner-management .chart-share-list-filters .chart-share-search{grid-column:span 1}.chart-share-owner-management .chart-share-list-filters.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-share-owner-management .chart-share-pagination{justify-content:center;gap:8px}.chart-share-owner-management .chart-share-pagination form{flex-wrap:wrap;justify-content:center}}.stitch-playback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;background:#e4e0d6;color:#263744;outline:none}.stitch-playback header{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#f8f5ed;border-bottom:1px solid #d9d2c4}.stitch-playback header span{font-size:12px;color:#756e63}.stitch-playback header button{margin-left:auto}.stitch-playback button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 10px}.stitch-playback-canvas{flex:1;min-height:0;width:100%;touch-action:none;cursor:grab}.stitch-playback-canvas:active{cursor:grabbing}.stitch-playback-watermark{pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:600}.stitch-playback footer{width:min(760px,100%);box-sizing:border-box;align-self:center;background:#fffdf7;border:1px solid #ded7ca;border-radius:12px 12px 0 0;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.stitch-playback-progress{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:12px}.stitch-playback-progress>span{flex:0 0 220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.stitch-playback-progress input{flex:1;min-width:0;accent-color:#557544}.stitch-playback-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stitch-playback select{width:auto;min-height:34px;font-size:12px}.stitch-playback-zoom{display:flex;gap:4px;margin-left:auto}.stitch-playback small{display:block;margin-top:6px;color:#756e63}.stitch-playback-empty{text-align:center}@media (max-width: 600px){.stitch-playback header{padding:8px 12px}.stitch-playback header span{display:none}.stitch-playback footer{padding:10px 10px max(10px,env(safe-area-inset-bottom))}.stitch-playback-buttons{gap:6px}.stitch-playback-progress{flex-wrap:wrap;gap:4px}.stitch-playback-progress>span,.stitch-playback-progress input{flex-basis:100%}.stitch-playback-zoom{flex-basis:100%;justify-content:flex-end;margin:0}}.stitch-playback button,.stitch-playback select{font-family:inherit;color:#263744;border:1px solid #ded7ca;border-radius:7px;background-color:#fffdf7;cursor:pointer}.stitch-playback button:hover{background:#f0ede4}.stitch-playback button.primary{background:#edf4e4;border-color:#c7d7b9;color:#35542b}.stitch-playback button:disabled{opacity:.45;cursor:default}.stitch-playback button:focus-visible,.stitch-playback select:focus-visible{outline:2px solid #5479a6;outline-offset:2px}@media (max-width: 600px),(any-pointer: coarse){.stitch-playback button,.stitch-playback select{box-sizing:border-box;height:44px;min-height:44px;font-size:14px;line-height:20px}.stitch-playback button{min-width:44px;padding:6px 8px;flex-shrink:0}.stitch-playback button svg{flex-shrink:0}.stitch-playback select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 22px 6px 8px;background-image:linear-gradient(45deg,transparent 50%,#756e63 50%),linear-gradient(135deg,#756e63 50%,transparent 50%);background-position:calc(100% - 12px) center,calc(100% - 8px) center;background-size:4px 4px;background-repeat:no-repeat}}@font-face{font-family:Source Han Sans;src:url(/fonts/SourceHanSansCN-VF.otf.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:"Source Han Serif";src:url(/fonts/SourceHanSerifCN-VF.otf.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{font-family:Inter,Microsoft YaHei,PingFang SC,Arial,sans-serif;color:#1f2933;background:#e9e5da;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.admin-shell{display:grid;grid-template-columns:232px minmax(0,1fr);width:100%;height:100%;background:#f3f0e8}.admin-shell.admin-shell-locked{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.admin-sidebar{display:flex;flex-direction:column;gap:8px;border-right:1px solid #d8d0c3;background:#1f2933;padding:18px 14px;color:#f8f5ec}.admin-brand{display:grid;gap:4px;margin-bottom:18px}.admin-brand strong{font-size:20px}.admin-brand span,.admin-sidebar a{color:#cfd8dc;font-size:13px}.admin-nav{display:flex;min-height:0;flex:1;flex-direction:column;gap:8px}.admin-nav-group{display:grid;gap:4px}.admin-nav-label{color:#9fb0bd;font-size:12px;padding:0 12px}.admin-nav-children{display:grid;gap:4px;border-left:1px solid #506273;margin-left:10px;padding-left:7px}.admin-sidebar button,.admin-sidebar a{display:flex;min-height:40px;align-items:center;border-radius:8px;background:transparent;color:#f8f5ec;padding:0 12px;text-align:left;text-decoration:none}.admin-sidebar button:hover,.admin-sidebar a:hover,.admin-sidebar button.active{background:#35495a}.admin-nav-children button{min-height:36px;justify-content:space-between;color:#e5ebee;font-size:14px}.admin-nav-children button strong{min-width:24px;color:#aebdc7;font-size:12px;text-align:right}.admin-nav-children button.active strong{color:#f8f5ec}.admin-sidebar a{margin-top:auto}.admin-main{display:grid;min-width:0;grid-template-rows:auto minmax(0,1fr);gap:16px;overflow:auto;padding:22px}.admin-main.admin-main-locked{width:min(520px,100%);grid-template-rows:auto auto;align-content:center;justify-self:center}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;padding:16px 18px}.admin-topbar h1,.admin-panel h2,.admin-login-card h2{margin:0}.admin-topbar p,.admin-panel-title p,.admin-empty-panel p{margin:4px 0 0;color:#6b6258}.admin-topbar button,.admin-login-card button,.admin-category-table button,.admin-symbol-table button,.admin-library-transfer-bar button,.admin-member-table button{display:inline-flex;height:36px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 12px}.admin-login-card,.admin-panel{display:grid;align-content:start;gap:14px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;padding:18px}.admin-login-card{width:min(420px,100%)}.admin-login-card form{display:grid;gap:12px}.admin-login-card label,.admin-search{display:grid;gap:6px;color:#5f574f}.admin-login-card input,.admin-create-bar input,.admin-create-bar select,.admin-account-form input,.admin-account-form textarea,.admin-category-table input,.admin-symbol-table input,.admin-symbol-table select,.admin-member-table input,.admin-member-table select,.admin-member-filters input,.admin-member-filters select,.admin-search input{min-width:0;height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 9px}.admin-login-card button{background:#e9f0df;font-weight:700}.admin-error{margin:0;color:#a73522}.admin-panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.admin-search{grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:0 10px}.admin-search input{border:0}.admin-member-status-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.admin-analytics-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-dashboard-title{align-items:flex-start}.admin-analytics-cards>button,.admin-analytics-group{display:grid;gap:12px;min-width:0;border:1px solid #e4ddd1;border-radius:10px;background:#fffdf8;padding:16px;text-align:left}.admin-analytics-cards>button{cursor:pointer;font:inherit}.admin-analytics-cards>button:hover{background:#f8f6ef}.admin-analytics-cards>button.active{border-color:#8aa67c;background:#f0f5e9}.admin-analytics-cards span{color:#5f6858;font-size:13px;font-weight:700}.admin-analytics-cards strong{color:#303b36;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-analytics-cards .admin-analytics-summary{grid-column:span 1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 0}.admin-analytics-summary .admin-analytics-summary-title{grid-column:1 / -1;color:#303b36;font-size:15px}.admin-analytics-summary>div{display:grid;gap:4px;min-width:0;border-left:1px solid #d4dcc9;padding-left:8px}.admin-analytics-summary>div:first-of-type{border-left:0;padding-left:0}.admin-analytics-summary>div span{font-size:12px;font-weight:400}.admin-analytics-summary.active strong{color:#285f37}.admin-analytics-group h3{display:flex;align-items:baseline;gap:10px;margin:0;color:#303b36;font-size:15px}.admin-analytics-group h3 span{color:#8a857a;font-size:12px;font-weight:400}.admin-analytics-group-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-analytics-group-metrics.is-outputs{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-analytics-group-metrics button{display:grid;align-content:start;gap:8px;min-width:0;border:0;border-left:1px solid #e7e1d7;border-radius:0;background:transparent;padding:8px 12px;text-align:left;font:inherit;cursor:pointer}.admin-analytics-group-metrics button:first-child{border-left:0}.admin-analytics-group-metrics button span{font-size:12px;font-weight:400}.admin-analytics-group-metrics button:hover{background:#f7f5ee}.admin-analytics-group-metrics button.active{border-radius:6px;background:#edf4e4;box-shadow:inset 0 -2px #779763}.admin-analytics-group-metrics button.active strong{color:#285f37}.admin-analytics-group-metrics .is-duration strong{font-size:19px;line-height:1.5}.admin-analytics-cards button:focus-visible{outline:2px solid #779763;outline-offset:2px}.admin-analytics-trend{display:grid;gap:10px;border:1px solid #ded6ca;border-radius:10px;background:#f8f4ec;padding:14px}.admin-analytics-trend h3,.admin-analytics-trend p{margin:0}.admin-analytics-trend p{margin-top:4px;color:#6b6258;font-size:13px}.admin-analytics-trend-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-analytics-range{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-analytics-range button{border:1px solid #cfc6b8;border-radius:6px;background:#fffdf7;color:#555f50;padding:5px 9px;cursor:pointer;font:inherit;font-size:13px}.admin-analytics-range button.active{border-color:#779763;background:#e9f2df;color:#285f37}.admin-analytics-calendar-anchor{position:relative}.admin-analytics-calendar{position:absolute;z-index:12;top:calc(100% + 8px);right:0;width:min(710px,calc(100vw - 64px));border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;box-shadow:0 12px 30px #37482d2e;padding:12px;color:#303a31}.admin-analytics-calendar-navigation{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:10px;text-align:center;font-weight:700}.admin-analytics-calendar-navigation button{width:30px;height:30px;padding:0;justify-self:center;font-size:23px;line-height:1}.admin-analytics-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-analytics-calendar-month h3{margin:0 0 8px;color:#263238;font-size:16px;text-align:center}.admin-analytics-calendar-weekdays,.admin-analytics-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.admin-analytics-calendar-weekdays{margin-bottom:4px;color:#6b6258;font-size:12px;text-align:center}.admin-analytics-calendar-days button{width:100%;min-height:30px;border:0;border-radius:5px;background:transparent;color:#263238;padding:0;text-align:center}.admin-analytics-calendar-days button:hover:not(:disabled){background:#edf4e4;color:#285f37}.admin-analytics-calendar-days button.outside-month{color:#b8b6af}.admin-analytics-calendar-days button.within-range{border-radius:0;background:#edf4e4;color:#285f37}.admin-analytics-calendar-days button.selected{border-radius:5px;background:#6f9364;color:#fff;font-weight:700}.admin-analytics-calendar-days button:disabled{color:#d0cec7;cursor:not-allowed}.admin-analytics-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border-top:1px solid #ebe4d8;padding-top:10px;color:#6b6258;font-size:12px}.admin-analytics-calendar-footer button{border-color:#779763;background:#e9f2df;color:#285f37;padding-inline:14px}.admin-analytics-calendar-footer button:disabled{cursor:not-allowed;opacity:.5}.admin-analytics-line-chart{position:relative;height:210px;margin-left:64px;margin-top:8px}.admin-analytics-y-axis{position:absolute;left:-64px;width:56px;height:100%;color:#8a857a;font-size:11px}.admin-analytics-y-axis span{position:absolute;right:0;white-space:nowrap;transform:translateY(-50%)}.admin-analytics-line-chart svg{display:block;width:100%;height:100%}.admin-analytics-line-chart line{stroke:#e5dfd4;stroke-width:1;vector-effect:non-scaling-stroke}.admin-analytics-line-chart polyline{fill:none;stroke:#4c8658;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.admin-analytics-node-hit{fill:transparent;cursor:crosshair}.admin-analytics-node-active{fill:#fffdf7;stroke:#397147;stroke-width:.5;pointer-events:none}.admin-analytics-tooltip{position:absolute;z-index:2;display:grid;gap:3px;min-width:84px;border:1px solid #779763;border-radius:6px;background:#fffdf7;box-shadow:0 3px 12px #37482d29;padding:6px 8px;color:#5f6858;font-size:12px;pointer-events:none;transform:translate(-50%,-112%)}.admin-analytics-tooltip strong{color:#285f37;font-size:14px}.admin-analytics-timeline{position:relative;height:22px;margin-left:64px;color:#6b6258;font-size:11px}.admin-analytics-timeline span{position:absolute;top:5px;white-space:nowrap;transform:translate(-50%)}.admin-analytics-timeline span:first-child{transform:none}.admin-analytics-timeline span:last-child{transform:translate(-100%)}.admin-member-status-summary>div{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d4dcc9;border-radius:10px;background:#f3f7ed;padding:12px 16px}.admin-member-status-summary span{color:#5f6858;font-size:13px;font-weight:700}.admin-member-status-summary strong{color:#1f5f2d;font-size:26px;line-height:1}.admin-member-status-summary.is-stale>div{border-color:#ded6ca;background:#f8f4ec}.admin-member-status-summary.is-stale strong{color:#8a8177}.admin-member-summary-note{margin:-4px 0 0;color:#8a6423;font-size:13px}.admin-member-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:10px;border:1px solid #ded6ca;border-radius:8px;background:#f8f4ec;padding:10px}.admin-member-filters label{display:grid;gap:6px;color:#6b6258;font-size:13px;font-weight:700}.admin-member-filters input,.admin-member-filters select,.admin-member-filters button{width:100%;height:38px}.admin-create-bar{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(150px,220px) auto auto;align-items:center;gap:10px;border:1px solid #ded6ca;border-radius:8px;background:#f8f4ec;padding:10px}.admin-category-create-bar{grid-template-columns:minmax(180px,1fr) auto}.admin-library-transfer-bar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:10px;border:1px solid #ded6ca;border-radius:8px;background:#f8f4ec;padding:10px}.admin-library-transfer-bar>div{display:grid;gap:3px;min-width:0}.admin-library-transfer-bar strong{color:#263238}.admin-library-transfer-bar span{color:#6b6258;font-size:13px}.admin-create-bar button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 12px}.admin-import-preview{width:42px;height:42px;border:1px solid #d8d0c3;border-radius:8px;background:#fffdf7;padding:5px}.admin-category-table,.admin-symbol-table,.admin-member-table{display:grid;align-content:start;gap:8px;overflow:auto}.admin-category-row,.admin-symbol-row,.admin-symbol-head,.admin-member-row,.admin-member-head{display:grid;align-items:center;gap:8px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;padding:8px}.admin-category-row{grid-template-columns:38px minmax(170px,1fr) 170px 76px 76px}.admin-empty-list{border:1px dashed #c8c0b2;border-radius:8px;color:#6b6258;padding:24px;text-align:center}.admin-symbol-head,.admin-symbol-row{grid-template-columns:38px 64px minmax(150px,1fr) 80px minmax(130px,200px) 150px 120px 220px}.admin-provenance-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:10px;align-items:end}.admin-provenance-filters label{display:grid;gap:6px;color:#6b6258;font-size:13px;font-weight:700}.admin-provenance-filters select{width:100%;height:38px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.admin-provenance-filters .admin-symbol-sort-mobile{display:none}.admin-member-head,.admin-symbol-head{position:sticky;top:0;z-index:1;background:#f4efe6;color:#6b6258;font-size:12px;font-weight:700}.admin-member-head>button,.admin-symbol-head>button{display:inline-flex;min-width:0;align-items:center;justify-content:flex-start;gap:4px;border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.admin-member-head>button:hover,.admin-symbol-head>button:hover{color:#263238}.admin-member-head>button span,.admin-symbol-head>button span{color:#887962;font-size:13px}.admin-member-head,.admin-member-row{grid-template-columns:92px minmax(116px,1fr) 190px minmax(92px,118px) minmax(130px,156px) minmax(130px,156px) 82px minmax(88px,108px) 74px 74px 116px}.admin-member-table button{white-space:nowrap;word-break:keep-all;line-height:1}.admin-member-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#6b6258;font-size:13px}.admin-member-pagination>span{margin-right:auto}.admin-member-pagination label,.admin-member-pagination>div{display:inline-flex;align-items:center;gap:8px}.admin-member-pagination select,.admin-member-pagination button{min-height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.admin-member-pagination button:disabled{cursor:not-allowed;opacity:.5}.admin-member-email{display:grid;min-width:0;gap:4px}.admin-member-email-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-member-email-status{justify-self:start;border-radius:4px;background:#f5efe0;color:#715f31;padding:0 5px;font-size:11px;line-height:18px}.admin-member-email-status.is-verified{background:#edf4e4;color:#3f612c}.admin-member-email-empty{color:#8a8177}.admin-member-row strong{font-weight:700}.admin-user-type,.admin-member-library-unavailable{display:inline-flex;min-height:32px;align-items:center;justify-content:center;border:1px solid #b8caa8;border-radius:999px;background:#edf4e4;color:#3f612c;padding:0 9px;font-size:12px;font-weight:700;white-space:nowrap}.admin-user-type.is-visitor{border-color:#c9bd9e;background:#f5efe0;color:#715f31}.admin-member-library-unavailable{border-color:#ded6ca;background:#f8f4ec;color:#8a8177}.admin-member-meta,.admin-member-online{display:inline-flex;min-height:32px;align-items:center;border:1px solid #ded6ca;border-radius:999px;background:#f8f4ec;color:#6b6258;padding:0 10px;font-size:12px}.admin-member-online.is-online{gap:6px;border-color:#1f5f2d;background:#183f20;color:#76f06f;font-weight:800}.admin-member-online.is-online:before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:#36c943;box-shadow:0 0 #36c9437a;animation:admin-online-pulse 1.25s ease-in-out infinite}@keyframes admin-online-pulse{0%,to{opacity:.45;box-shadow:0 0 #36c9436b}50%{opacity:1;box-shadow:0 0 0 5px #36c94300}}.admin-empty-row{margin:0;color:#6b6258}.admin-member-library-modal{display:grid;width:min(980px,calc(100vw - 40px));max-height:min(860px,calc(100vh - 40px));gap:16px;overflow:auto;border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;padding:18px;box-shadow:0 24px 70px #1f29333d}.admin-member-library-section{display:grid;gap:10px;border-top:1px solid #e5ddd0;padding-top:14px}.admin-member-library-section h3{margin:0}.admin-member-category-list,.admin-member-symbol-list{display:grid;gap:8px}.admin-member-category-row,.admin-member-symbol-head,.admin-member-symbol-row{display:grid;align-items:center;gap:8px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;padding:8px}.admin-member-category-row{grid-template-columns:minmax(180px,1fr) 90px 96px}.admin-member-symbol-head,.admin-member-symbol-row{grid-template-columns:64px minmax(180px,1fr) minmax(160px,220px) 96px}.admin-member-symbol-head{background:#f4efe6;color:#6b6258;font-size:12px;font-weight:700}.admin-member-symbol-row svg{width:54px;height:54px}.admin-member-category-row input,.admin-member-symbol-row input,.admin-member-symbol-row select{min-width:0;height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 9px}.admin-member-category-row button,.admin-member-symbol-row button{display:inline-flex;height:36px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.admin-member-category-row .danger,.admin-member-symbol-row .danger{border-color:#d59b8f;color:#a73522}.admin-symbol-row svg{width:54px;height:54px}.admin-category-table .is-hidden,.admin-symbol-row.is-hidden{opacity:.62}.admin-row-actions,.admin-state-tags,.admin-provenance-tags{display:flex;flex-wrap:wrap;gap:6px}.admin-provenance-tags span,.admin-provenance-tags small{border:1px solid #ded6ca;border-radius:999px;background:#f8f4ec;color:#6b6258;padding:4px 8px;font-size:12px}.admin-provenance-tags span.source-independent{border-color:#a9c99a;background:#eef7e9;color:#35612c}.admin-provenance-tags span.source-third-party{border-color:#d7ba7c;background:#fff6df;color:#765718}.admin-provenance-tags span.source-unknown{border-color:#d9aaa0;background:#fff0ed;color:#873b2d}.admin-drag-handle{width:32px;height:32px;padding:0;cursor:grab;color:#6b6258}.admin-drag-handle:active{cursor:grabbing}.admin-category-row.is-dragging,.admin-symbol-row.is-dragging{opacity:.45}.admin-category-row.is-drop-target,.admin-symbol-row.is-drop-target{border-color:#3d5a80;background:#edf4ff;box-shadow:inset 3px 0 #3d5a80}.admin-state-tags span{border:1px solid #ded6ca;border-radius:999px;background:#f8f4ec;padding:4px 8px;color:#6b6258;font-size:12px}.admin-state-tags span.ok{border-color:#afc79a;background:#edf4e4;color:#3f612c}.admin-state-tags span.danger{border-color:#d59b8f;background:#fff1ee;color:#a73522}.admin-state-tags small{width:100%;color:#7b7165}.admin-category-table button.danger,.admin-symbol-table button.danger{border-color:#d59b8f;color:#a73522}.admin-empty-panel{max-width:640px}.admin-settings-panel{max-width:720px}.admin-legal-panel{width:100%}.admin-legal-header,.admin-legal-header-actions,.admin-legal-document-tabs,.admin-legal-section-card-head,.admin-legal-preview-title{display:flex;align-items:center}.admin-legal-header,.admin-legal-preview-title{justify-content:space-between;gap:16px}.admin-legal-header-actions,.admin-legal-document-tabs,.admin-legal-section-card-head>div{display:flex;gap:8px}.admin-legal-header-actions button,.admin-legal-document-tabs button,.admin-legal-section-card-head button,.admin-legal-add-section{min-height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 12px;font-weight:700}.admin-legal-header-actions button.primary,.admin-legal-document-tabs button.active,.admin-legal-add-section{border-color:#b8caa8;background:#e9f0df}.admin-legal-section-card-head button.danger{border-color:#d59b8f;background:#fff1ee;color:#a73522}.admin-legal-document-tabs{border-bottom:1px solid #ded6ca;padding-bottom:12px}.admin-legal-meta{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) auto;align-items:end;gap:12px}.admin-legal-meta label,.admin-legal-document-title,.admin-legal-section-card label{display:grid;gap:6px;color:#4c463f;font-weight:700}.admin-legal-meta input,.admin-legal-document-title input,.admin-legal-section-card input,.admin-legal-section-card textarea{width:100%;min-width:0;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:9px 10px}.admin-legal-meta input,.admin-legal-document-title input,.admin-legal-section-card input{height:40px}.admin-legal-section-card textarea{min-height:132px;resize:vertical;line-height:1.65}.admin-legal-meta>span{color:#6b6258;font-size:12px;padding-bottom:10px}.admin-legal-status{border-radius:8px;background:#f4efe6;padding:9px 12px}.admin-legal-workspace{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(460px,1.1fr);align-items:start;gap:18px}.admin-legal-editor,.admin-legal-section-list{display:grid;gap:12px}.admin-legal-section-card{display:grid;gap:12px;border:1px solid #ded6ca;border-radius:10px;background:#f8f4ec;padding:12px}.admin-legal-section-card-head{justify-content:space-between;gap:12px}.admin-legal-section-card-head button{min-height:30px;padding:0 9px;font-size:12px}.admin-legal-add-section{justify-self:start}.admin-legal-preview-panel{position:sticky;top:0;display:grid;max-height:calc(100vh - 190px);grid-template-rows:auto minmax(0,1fr);border:1px solid #ded6ca;border-radius:10px;background:#eeeae0;overflow:hidden}.admin-legal-preview-title{border-bottom:1px solid #ded6ca;background:#f4efe6;padding:10px 12px}.admin-legal-preview-title a{color:#3d5a80;font-size:13px;text-decoration:none}.admin-legal-preview-scroll{min-height:0;overflow:auto;padding:14px}.admin-legal-preview-scroll .legal-document-preview{width:100%;border-radius:8px;padding:24px 28px;box-shadow:none}.admin-account-form{display:grid;gap:12px}.admin-recharge-form{border-top:1px solid #ded6ca;padding-top:16px}.admin-account-form label{display:grid;gap:6px;color:#4c463f;font-weight:700}.admin-account-form button{justify-self:start;min-height:42px;border:1px solid #b8caa8;border-radius:8px;background:#e9f0df;color:#263238;padding:0 16px;font-weight:700}.admin-update-notice-form textarea{width:100%;min-width:0;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:10px;resize:vertical;line-height:1.6}.admin-update-notice-time-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px);gap:12px}.admin-update-notice-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-update-notice-actions button.danger{border-color:#d59b8f;background:#fff1ee;color:#a73522}.admin-update-notice-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-update-notice-state{display:grid;gap:6px;border:1px solid #ded6ca;border-radius:8px;background:#f8f4ec;color:#6b6258;padding:12px}.admin-update-notice-state.is-active{border-color:#b8caa8;background:#eef5e7;color:#3f612c}.update-notice-modal{border-top:5px solid #b7892e}.update-notice-time{border-radius:8px;background:#f4efe6;color:#6d5221!important;padding:9px 11px;font-weight:700}.admin-recharge-qr-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-recharge-qr-row img{width:112px;height:112px;border:1px solid #d6cec1;border-radius:8px;background:#fffdf7;object-fit:contain;padding:6px}.admin-recharge-qr-row span{color:#6b6258}.admin-form-status{margin:0;color:#3d5a80}.app-shell{--left-panel-width: 286px;--right-panel-width: 292px;display:grid;position:relative;grid-template-columns:var(--left-panel-width) minmax(520px,1fr) var(--right-panel-width);width:100%;height:100%;background:#eeeae0}.app-shell.left-collapsed{--left-panel-width: 0px}.app-shell.right-collapsed{--right-panel-width: 0px}.app-shell.left-collapsed.right-collapsed{--left-panel-width: 0px;--right-panel-width: 0px}.side-toggle{position:absolute;top:50%;z-index:15;display:inline-flex;width:20px;height:44px;padding:0;align-items:center;justify-content:center;border:1px solid rgba(184,175,160,.82);background:#fffdf7f5;color:#40505a;box-shadow:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;transform:translateY(-50%);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.side-toggle svg{width:15px;height:15px;stroke-width:1.8}@media (pointer: coarse){.side-toggle:before{content:"";position:absolute;top:-4px;right:-12px;bottom:-4px;left:-12px}}.side-toggle:hover{border-color:#84936f;background:#f6f8f0;color:#334730;box-shadow:none}.side-toggle:active{background:#edf2e5;box-shadow:none}.left-side-toggle{left:calc(var(--left-panel-width) - 1px);border-radius:0 7px 7px 0}.right-side-toggle{right:calc(var(--right-panel-width) - 1px);border-radius:7px 0 0 7px}.app-shell.left-collapsed .left-side-toggle{left:0}.app-shell.right-collapsed .right-side-toggle{right:0}.mobile-property-bar,.app-shell.phone-touch-layout .side-toggle{display:none}@media (max-width: 820px),(hover: none) and (pointer: coarse){.mobile-property-bar{position:fixed;right:0;bottom:0;left:0;z-index:68;display:grid;gap:6px;border-top:1px solid #d6cec1;background:#f8f5ecf7;box-shadow:0 -7px 22px #1f29331f;padding:7px 8px max(7px,env(safe-area-inset-bottom))}.mobile-text-property-panel{display:grid;min-width:0;order:1;gap:6px}.mobile-text-property-scroll{display:flex;min-width:0;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x}.mobile-text-property-scroll::-webkit-scrollbar{display:none}.mobile-text-property-scroll .text-font-size-row{display:flex;flex:0 0 auto;gap:6px}.mobile-text-property-scroll .text-font-display{flex:0 0 78px;min-width:78px;padding:0 7px;font-size:12px}.mobile-text-property-scroll .text-size-inline{flex:0 0 88px;min-width:88px}.mobile-text-property-scroll .text-property-toolbar{flex:0 0 auto;flex-wrap:nowrap;overflow:visible;touch-action:auto;border-bottom:0;padding-bottom:0}.mobile-property-bar>.mobile-property-sheet{order:2}.mobile-property-tabs{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.mobile-property-tabs::-webkit-scrollbar{display:none}.mobile-property-toolbar-wrap{position:relative;min-width:0}.mobile-property-scroll-cue{position:absolute;top:0;right:0;width:24px;height:100%;display:grid;place-items:center;border:0;border-radius:0;background:linear-gradient(to right,transparent,#f8f5ec 35%);color:#315a2c}.mobile-property-sheet>.number-stepper[data-mobile-label]:before,.mobile-property-stepper-grid>.number-stepper[data-mobile-label]:before{content:attr(data-mobile-label);grid-column:1 / -1;color:#61594f;font-size:12px}.mobile-property-tabs button{display:inline-flex;min-width:56px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#35424d;padding:0 8px;font-size:12px;white-space:nowrap}.mobile-property-tabs button.active{border-color:#71875d;background:#edf4e4;color:#315a2c}.mobile-stitch-symbol-strip{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:1px;scrollbar-width:none}.mobile-stitch-symbol-strip::-webkit-scrollbar{display:none}.mobile-stitch-symbol-strip button{display:grid;width:62px;min-width:62px;height:66px;grid-template-rows:42px 16px;place-items:center;gap:1px;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#5f574f;padding:3px 4px;font-size:11px;line-height:1}.mobile-stitch-symbol-strip button.active{border-color:#71875d;background:#edf4e4;color:#315a2c}.mobile-stitch-symbol-strip svg{width:38px;height:38px;overflow:visible}.mobile-stitch-symbol-strip span{max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-property-sheet{display:grid;gap:8px;border:1px solid #d8d0c3;border-radius:12px;background:#fffdf7;padding:9px}.mobile-property-stepper-grid,.mobile-property-action-row{display:grid;gap:7px}.mobile-property-stepper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phone-touch-layout .mobile-property-stepper-grid{grid-template-columns:minmax(0,1fr)}.mobile-line-scale-grid{display:grid;gap:7px}.mobile-line-scale-grid label{display:grid;gap:4px;color:#5f574f;font-size:12px}.mobile-property-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-property-sheet .number-stepper input{min-width:0;height:44px;box-sizing:border-box;border:1px solid #c8c0b2;border-radius:10px;background:#fffdf7;color:#1f2933;padding:6px 8px;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.mobile-property-sheet .number-stepper{grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:4px;align-items:stretch}.mobile-property-sheet .number-stepper.has-preset{grid-template-columns:44px minmax(0,1fr) 44px 44px 44px}.mobile-property-sheet .number-stepper.has-preset>:is(.stitch-rotation-preset-cycle,.stitch-scale-preset-cycle){min-width:0;width:44px;height:44px;margin:0;border:1px solid #c8c0b2;border-radius:10px;background:#f8f6f0;color:#38553a;font-size:12px;font-variant-numeric:tabular-nums;touch-action:manipulation}.mobile-property-sheet .number-stepper-button,.mobile-property-sheet .number-stepper-reset,.mobile-property-sheet .number-stepper-reset-placeholder{width:auto;height:44px;box-sizing:border-box;border-radius:10px}.mobile-property-sheet .number-stepper-button{font-size:22px;touch-action:manipulation}.mobile-property-sheet .number-stepper input::-webkit-inner-spin-button,.mobile-property-sheet .number-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-property-action-row button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:5px;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#35424d;padding:6px 8px;font-size:13px;white-space:nowrap}.mobile-property-action-row button svg{flex:0 0 auto}.mobile-property-action-row button.active{border-color:#71875d;background:#edf4e4;color:#315a2c;font-weight:700}.mobile-circle-rotation-control{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:8px;color:#5f574f;font-size:12px}.mobile-circle-rotation-control .number-stepper{min-width:0}.mobile-text-select{display:grid;gap:5px;color:#5f574f;font-size:12px}.mobile-text-select select{width:100%;height:38px;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#1f2933;padding:0 9px;font-size:14px}.mobile-position-pad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mobile-position-pad button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#35424d;touch-action:none}.mobile-property-sheet .property-color-control{justify-content:center}.mobile-structure-controls{display:grid;gap:7px}.mobile-structure-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-structure-tabs button{min-width:0;min-height:34px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#5f574f;padding:5px 6px;font-size:12px;white-space:nowrap}.mobile-structure-tabs button.active{border-color:#71875d;background:#edf4e4;color:#315a2c;font-weight:700}.mobile-structure-group{display:grid;gap:0}.mobile-structure-group .mobile-property-stepper-grid>div{display:grid;gap:4px;color:#5f574f;font-size:12px}.mobile-property-bar+.touch-tool-layer{bottom:132px}}.touch-tool-layer{position:fixed;right:14px;bottom:76px;z-index:70;display:block;width:50px;height:50px}.touch-tool-layer.is-positioned{right:auto;bottom:auto}.touch-tool-orb{position:relative;display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border:1px solid rgba(104,120,91,.72);border-radius:50%;background:#fffdf7e6;color:#35495b;box-shadow:0 6px 18px #1f29333d;opacity:.78;touch-action:none;transition:opacity .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease}.touch-tool-layer.is-open .touch-tool-orb,.touch-tool-orb:active,.touch-tool-orb.is-selecting{background:#edf4e4;color:#315a2c;box-shadow:0 7px 22px #1f293347;opacity:1}.touch-tool-count{position:absolute;top:-5px;right:-5px;display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border:2px solid #fffdf7;border-radius:999px;background:#3d5a80;color:#fff;padding:0 5px;font-size:11px;font-weight:700}.touch-tool-menu{position:absolute;right:0;bottom:60px;display:grid;width:min(252px,calc(100vw - 24px));gap:8px;border:1px solid rgba(184,175,160,.92);border-radius:16px;background:#fffdf7fa;box-shadow:0 12px 34px #1f29333d;padding:10px}.touch-tool-menu.is-nudge{width:min(204px,calc(100vw - 24px));gap:6px;padding:9px}.touch-tool-layer.dock-left .touch-tool-menu{right:auto;left:0}.touch-tool-layer.opens-down .touch-tool-menu{top:60px;bottom:auto}.touch-tool-menu-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.touch-tool-drag-handle{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.touch-tool-drag-handle:active{cursor:grabbing}.touch-tool-drag-handle button{cursor:pointer;touch-action:manipulation}.touch-tool-menu-header>div:first-child{display:grid;gap:2px}.touch-tool-menu-header strong{color:#253746;font-size:15px}.touch-tool-menu-header span{color:#736a60;font-size:11px}.touch-tool-header-actions{display:flex;gap:4px}.touch-tool-header-actions button{min-height:30px;border-radius:8px;padding:0 8px;font-size:12px}.touch-tool-mode-grid,.touch-selection-options,.touch-tool-edit-grid{display:grid;gap:6px}.touch-tool-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.touch-selection-options{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px;border-radius:10px;background:#f0ece3}.touch-selection-split{display:grid;grid-template-columns:minmax(0,1fr) 40px;min-width:0}.touch-tool-mode-grid .touch-selection-split>button:first-child{border-radius:10px 0 0 10px}.touch-tool-mode-grid .touch-selection-expand{border-radius:0 10px 10px 0;margin-left:-1px;padding:0}.touch-tool-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e1dacd;padding-top:10px}.touch-tool-mode-grid button,.touch-selection-options button,.touch-tool-edit-grid button{display:inline-flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:6px;border:1px solid #cbc3b6;border-radius:10px;background:#fffdf7;color:#35424d;padding:6px;font-size:13px}.touch-tool-mode-grid button.active,.touch-selection-options button[aria-pressed=true],.touch-tool-edit-grid button.active{border-color:#71875d;background:#edf4e4;color:#315a2c;box-shadow:inset 0 0 0 1px #71875d2e}.touch-tool-mode-grid .touch-symbol-picker,.touch-tool-edit-grid .touch-nudge-entry{grid-column:1 / -1}.touch-snap-option{display:flex;align-items:center;gap:6px;min-height:26px;padding:0;color:#35424d;font-size:12px;cursor:pointer;touch-action:manipulation}.touch-snap-option input{width:14px;height:14px;margin:0;accent-color:#527447}.touch-tool-menu-header .touch-snap-option span{font-size:12px}.touch-tool-menu-header .touch-tool-selected-count{font-size:13px;font-weight:400}.touch-nudge-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);justify-content:center;gap:4px;padding:0}.touch-nudge-pad button,.touch-nudge-step{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px}.touch-nudge-pad button{border:1px solid #bdb4a5;background:#fffdf7;color:#2f4354;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-nudge-pad button:active:not(:disabled){border-color:#71875d;background:#e8f0de;color:#315a2c;transform:scale(.96)}.touch-nudge-pad button:disabled{opacity:.38}.touch-nudge-up{grid-column:2;grid-row:1}.touch-nudge-left{grid-column:1;grid-row:2}.touch-nudge-step{grid-column:2;grid-row:2;border:1px solid #ddd5c8;background:#f4f0e7;color:#756c61;font-size:12px;font-weight:700}.touch-nudge-right{grid-column:3;grid-row:2}.touch-nudge-down{grid-column:2;grid-row:3}.touch-nudge-hint{margin:0;color:#736a60;font-size:12px;text-align:center}.touch-tool-edit-grid button.danger:not(:disabled){border-color:#d8a094;background:#fff2ef;color:#a43b29}.touch-tool-mode-grid button:disabled,.touch-tool-edit-grid button:disabled,.touch-tool-header-actions button:disabled{opacity:.38}.symbol-panel,.property-panel{display:flex;min-height:0;flex-direction:column;border-color:#cfc7b8;background:#f8f5ec}.symbol-panel{overflow:hidden;border-right:1px solid #cfc7b8}.app-shell.left-collapsed .symbol-panel{border-right:0;visibility:hidden}.property-panel{overflow:hidden;border-left:1px solid #cfc7b8}.property-panel-scroll{display:flex;min-height:0;flex:1;flex-direction:column;gap:0;overflow-y:auto;padding:12px}.app-shell.right-collapsed .property-panel{overflow:hidden;border-left:0;padding:0;visibility:hidden}.brand{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px}.brand h1{margin:0;font-size:20px;letter-spacing:0}.brand p{margin:3px 0 0;color:#6b6257;font-size:12px}.sidebar-section{position:relative;display:grid;flex:0 0 auto;gap:8px;border-top:0;padding:12px}.sidebar-section:before,.symbol-library-panel:before{position:absolute;top:0;right:12px;left:12px;height:12px;border-top:2px solid #c9c1b4;border-radius:6px;pointer-events:none;content:""}.brand+.sidebar-section{padding-top:10px}.sidebar-section-title{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:8px}.sidebar-section-title strong{color:#263238;font-size:14px;white-space:nowrap}.sidebar-section-title span{overflow:hidden;color:#7b7165;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #cfc7b8;border-radius:8px;background:#fffdf7;padding:8px 10px;color:#6b6257}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#1f2933}.property-color-control input{width:38px;height:30px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:3px}.color-swatch-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.color-swatch-row button{height:28px;min-width:0;border:2px solid #fffdf7;border-radius:999px;box-shadow:0 0 0 1px #c8c0b2}.color-swatch-row button.active{box-shadow:0 0 0 2px #3d5a80}.apply-color-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.apply-color-button:hover{border-color:#61764b;background:#f3f7ec}.category-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow:hidden}.stitch-type-panel{gap:8px;padding-top:12px;padding-bottom:12px}.sidebar-section-toggle{display:flex;width:100%;min-height:30px;align-items:center;justify-content:space-between;border:0;border-radius:4px;background:transparent;color:#263238;padding:0;text-align:left}.sidebar-section-toggle:hover{color:#365f39}.sidebar-section-toggle:focus-visible{outline:2px solid #7d9cbc;outline-offset:3px}.sidebar-section-toggle strong{font-size:14px}.sidebar-section-toggle svg{flex:0 0 auto;color:#55704d;transform:rotate(-90deg);transition:transform .16s ease}.sidebar-section-toggle svg.is-open{transform:rotate(0)}.stitch-type-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stitch-type-switch button{height:32px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;font-size:13px;font-weight:700}.stitch-type-switch button.active{border-color:#3d5a80;background:#e9eef1;color:#193553}.category-strip button,.toolbar button,.button-row button,.arrange-row button{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238}.category-strip button{min-width:0;width:100%;height:28px;overflow:hidden;padding:0 5px;font-size:11px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.category-chip-placeholder{width:100%;height:28px;border:1px solid #ded8cc;border-radius:8px;background:linear-gradient(100deg,#f5f2eb 30%,#fffdf7,#f5f2eb 70%);background-size:220% 100%;animation:category-placeholder-shimmer 1.2s ease-in-out infinite}.category-load-state{grid-column:1 / -1;color:#9b4b3f;padding:5px 6px;text-align:center;font-size:11px}@keyframes category-placeholder-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.category-chip-placeholder{animation:none}}.category-filter-panel{gap:8px;padding-top:12px;padding-bottom:12px}.category-filter-actions{display:inline-flex;flex:0 0 auto;gap:5px}.category-filter-panel .text-action-button{min-height:28px;padding:3px 7px;font-size:11px}.custom-category-chip{position:relative;min-width:0}.custom-category-chip>button:first-child{display:inline-flex;width:100%;height:34px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;overflow:hidden;padding:0 8px;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.15}.custom-category-actions{position:absolute;top:3px;right:3px;display:inline-flex;gap:2px;opacity:0;pointer-events:none;transition:opacity .15s ease}.custom-category-chip:hover .custom-category-actions,.custom-category-chip:focus-within .custom-category-actions{opacity:1;pointer-events:auto}.custom-category-actions button{width:23px;min-width:23px;height:23px;border-radius:6px;background:#fffdf7f5;padding:0}.custom-category-actions button:hover{border-color:#61764b;background:#f3f7ec}.category-strip button.active,.toolbar button.active,.custom-category-chip>button.active,.symbol-card.active{border-color:#3d5a80;background:#e9eef1;color:#193553}.custom-category-panel{display:grid;flex:0 0 auto;gap:8px;border-top:1px solid #ded6ca;padding:12px 14px}.custom-category-heading{gap:10px}.custom-category-heading-toggle{display:inline-flex;min-width:0;align-items:center;gap:6px;border:0;background:transparent;padding:0;text-align:left}.custom-category-heading-toggle:after{content:"›";color:#7b7165;font-size:16px;line-height:1;transform:rotate(0);transition:transform .16s ease}.custom-category-panel.is-open .custom-category-heading-toggle:after{transform:rotate(90deg)}.custom-category-body{display:grid;gap:8px}.custom-category-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#4a5563;font-size:12px}.custom-category-title strong{color:#263238;font-size:13px}.text-action-button{display:inline-flex;min-height:28px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:6px;background:#fffdf7;color:#263238;padding:3px 7px;font-size:12px;line-height:1;white-space:nowrap}.text-action-button:hover{border-color:#61764b;background:#f3f7ec}.save-selection-symbol-button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:6px;border:1px solid #9fbc8b;border-radius:8px;background:#f1f8ea;color:#284d21;padding:0 10px;font-size:12px;font-weight:800;white-space:nowrap}.save-selection-symbol-button:before{display:none}.save-selection-symbol-button.is-combinable{animation:save-symbol-text-pulse 1.15s ease-in-out infinite}.save-selection-symbol-button:hover{border-color:#5d8a45;background:#e5f2d9}@keyframes save-symbol-text-pulse{0%,to{color:#284d21;text-shadow:none}50%{color:#1f8a2f;text-shadow:0 0 10px rgba(66,187,67,.42)}}.custom-category-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.custom-category-form{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.custom-category-form input{min-width:0;height:38px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 9px}.custom-category-form button,.icon-button{display:inline-flex;width:42px;height:38px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238}.custom-category-form button:hover,.icon-button:hover,.custom-category-chip>button:first-child:hover{border-color:#61764b;background:#f3f7ec}.symbol-library-panel{position:relative;display:grid;flex:1 1 auto;min-height:0;grid-template-rows:auto auto minmax(0,1fr);gap:8px;border-top:0;padding:10px 0 0}.symbol-library-panel>.sidebar-section-title{position:relative;z-index:12;padding:0 12px;flex-wrap:nowrap}.symbol-library-panel:not(.is-search-open){grid-template-rows:auto minmax(0,1fr)}.symbol-library-panel>.sidebar-section-title{column-gap:4px}.symbol-library-title strong{font-size:13px}.symbol-library-panel .symbol-library-actions{gap:2px}.symbol-library-panel .symbol-library-actions button.save-selection-symbol-button,.symbol-library-panel .symbol-library-actions button.text-action-button{padding-left:4px;padding-right:4px}.symbol-library-title{display:flex;align-items:center;gap:2px}.symbol-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#5f574f;cursor:pointer}.symbol-search-toggle:hover{background:#ece8dd}.symbol-library-search input{min-width:0}@media (any-pointer: coarse){.symbol-search-toggle{height:40px}.symbol-library-search .symbol-search-toggle{width:40px}.symbol-library-search input{font-size:16px}}.symbol-library-actions{display:inline-flex;min-width:0;align-items:center;gap:4px;flex:0 0 auto}.symbol-library-color-control{position:static;display:inline-flex;flex:0 0 auto}.symbol-library-color-button{width:28px;height:28px;flex:0 0 auto;border:1px solid #c8c0b2;border-radius:8px;box-shadow:inset 0 0 0 4px #fffdf7;padding:0}.symbol-library-color-popover{position:absolute;top:calc(100% + 8px);left:12px;z-index:50;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;box-sizing:border-box;width:min(276px,calc(100vw - 24px));gap:8px;border:1px solid #d8d0c2;border-radius:10px;background:#fffdf7;box-shadow:0 12px 30px #26323829;padding:10px}.symbol-library-color-picker{width:100%;height:34px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:3px}.symbol-library-color-swatches{grid-template-columns:repeat(6,1fr);gap:7px}.symbol-library-actions .save-selection-symbol-button{min-height:28px;padding:0 6px;font-size:11px}.symbol-library-actions .text-action-button{padding:3px 6px;font-size:11px}.symbol-library-search{margin:0 12px}.symbol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:102px;align-content:start;min-height:0;gap:8px;overflow:auto;padding:4px 12px 14px;scrollbar-gutter:stable}.symbol-empty-state{grid-column:1 / -1;min-height:86px;display:grid;place-items:center;border:1px dashed #c8c0b2;border-radius:8px;background:#fffdf7;color:#7b7166;padding:12px;text-align:center;font-size:12px;line-height:1.5}.symbol-empty-state.is-error{border-color:#d8a094;background:#fff7f4;color:#9b4b3f}.symbol-card{display:grid;position:relative;height:102px;min-height:102px;grid-template-rows:64px auto;align-items:center;justify-items:center;border:1px solid #d3cabd;border-radius:8px;background:#fffdf7;padding:7px 6px;color:#243447;touch-action:manipulation}.symbol-card-actions{position:absolute;top:5px;right:5px;z-index:1;display:flex;align-items:center;gap:3px}.symbol-card-action-row{display:flex;align-items:center;gap:3px}.symbol-card-actions button{height:22px;border:1px solid rgba(200,192,178,.72);border-radius:6px;background:#fffdf7d1;color:#4a5563;padding:0 4px;font-size:10px}.symbol-card-actions .symbol-more-toggle{display:grid;width:22px;padding:0;place-items:center}.symbol-card-actions .symbol-more-toggle svg{width:15px;height:15px}@media (hover: hover) and (pointer: fine){.symbol-card-actions:not(.is-open) .symbol-more-toggle{opacity:0;pointer-events:none}.symbol-card:hover .symbol-more-toggle,.symbol-card:focus-within .symbol-more-toggle{opacity:1;pointer-events:auto}}.symbol-card-actions.is-open .symbol-more-toggle,.symbol-card-actions button:hover:not(:disabled),.symbol-card-actions button:focus-visible{border-color:#61764b;background:#edf4e4f0;color:#2f5131}.symbol-card-actions button:disabled{opacity:.42;cursor:not-allowed}.symbol-category-menu{position:fixed;z-index:80;display:grid;width:220px;max-height:240px;gap:6px;overflow:auto;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:8px;box-shadow:0 16px 34px #1f293333;transform:translate(-100%)}.symbol-category-menu-title{overflow:hidden;border-bottom:1px solid #e5ddd0;color:#243447;font-size:13px;font-weight:700;padding:2px 4px 7px;text-overflow:ellipsis;white-space:nowrap}.symbol-category-menu button{display:flex;width:100%;min-height:34px;align-items:center;justify-content:space-between;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#263238;padding:5px 7px;text-align:left}.symbol-category-menu button:hover{border-color:#c8c0b2;background:#f7f3e9}.symbol-category-menu button.active{border-color:#61764b;background:#edf4e4}.symbol-category-menu span,.symbol-category-menu strong,.empty-category-menu{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.symbol-category-menu span{flex:1 1 auto}.symbol-category-menu strong{flex:0 0 auto;color:#61764b}.empty-category-menu{display:block;color:#7b7165;padding:8px}.symbol-card:hover,.toolbar button:hover,.button-row button:hover,.arrange-row button:hover{border-color:#61764b}.symbol-card svg{width:58px;height:58px}.symbol-card span{width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.workspace{position:relative;display:grid;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:58px 1fr}.topbar{display:flex;align-items:center;gap:12px;border-bottom:1px solid #cfc7b8;background:#f8f5ec;overflow-x:auto;padding:10px 14px}.topbar-scroll-cue{position:absolute;top:0;right:0;z-index:6;display:grid;width:38px;height:58px;place-items:center;border:0;border-radius:0;background:linear-gradient(270deg,#f8f5ec 58%,#f8f5ec00);color:#355f8a;animation:topbar-scroll-cue 1.15s ease-in-out 2}@keyframes topbar-scroll-cue{50%{transform:translate(3px)}}.toolbar{display:inline-flex;gap:6px;align-items:center;padding-right:10px;border-right:1px solid #d5cec2}.pen-handles{cursor:move}.toolbar:last-of-type{border-right:0}.app-shell:not(.phone-touch-layout) .topbar button,.app-shell:not(.phone-touch-layout) .topbar .member-badge{font-size:12px}.member-toolbar{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.member-toolbar button,.member-badge{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px;white-space:nowrap}.member-menu{position:relative}.member-menu-trigger{min-width:108px}.member-account-modal{width:min(360px,calc(100vw - 32px))}.member-account-actions{display:grid;gap:8px}.member-account-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:#263238;font-size:14px;font-weight:600;cursor:pointer}.member-account-actions button.danger{border-color:#d59b8f;background:#fff1ee;color:#a73522}.file-menu-group{display:inline-flex;order:-1;flex:0 0 auto;align-items:center;padding-right:10px;border-right:1px solid #d5cec2}.file-menu-trigger{display:inline-flex;order:-1;flex:0 0 auto;height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid #8fac77;border-radius:8px;background:#f0f6e9;color:#2f5d37;padding:0 10px;font-size:12px;font-weight:700;white-space:nowrap}.file-menu-move-guide{position:absolute;z-index:20;top:12px;left:14px;display:flex;align-items:center;gap:10px;width:min(370px,calc(100% - 28px));box-sizing:border-box;padding:9px 10px;border:1px solid #9db488;border-radius:8px;background:#f2f8e9;box-shadow:0 4px 14px #2f442529;color:#43523a;font-size:12px;line-height:1.5}.file-menu-move-guide:before{position:absolute;top:-6px;left:22px;width:10px;height:10px;border-top:1px solid #9db488;border-left:1px solid #9db488;background:#f2f8e9;content:"";transform:rotate(45deg)}.file-menu-move-guide span{flex:1}.file-menu-move-guide button{flex:0 0 auto;min-height:32px;padding:0 9px;border:1px solid #a9bb97;border-radius:6px;background:#fffdf7;color:#315a2c;font-size:12px}.file-menu-move-guide button:hover{background:#e7efdf}.local-draft-move-guide{width:min(390px,calc(100% - 28px));flex-wrap:wrap;padding:12px}.local-draft-move-guide-copy{display:grid;gap:4px;width:100%}.local-draft-move-guide-copy strong{font-size:14px}.local-draft-move-guide-actions{display:flex;gap:8px;margin-left:auto}.local-draft-move-guide-actions button:first-child{background:#e7efdf;font-weight:600}@media (pointer: coarse),(max-width: 820px){.local-draft-move-guide-actions button{min-height:44px;padding:0 14px}}.mobile-top-save-symbol-button,.mobile-top-panel-trigger,.mobile-top-compact-panel{display:none}.mobile-file-actions-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:flex;align-items:center;justify-content:center;background:#1f293359;padding:20px}.mobile-file-actions-sheet{display:grid;width:min(400px,100%);border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;color:#263238;font-size:14px;box-shadow:0 16px 40px #1f29332e}.mobile-file-actions-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e8e1d5}.mobile-file-actions-header h2{margin:0;font-size:17px}.mobile-file-actions-header>button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:#263238}.mobile-file-actions-grid{display:grid;gap:8px;padding:16px}.mobile-file-actions-grid button,.mobile-file-open-label{display:flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid #ded6ca;border-radius:6px;background:#fffdf7;color:#263238;font-size:14px;font-weight:600;cursor:pointer}.mobile-file-actions-grid button.is-primary{border-color:#a9bb97;background:#edf4e4;color:#315a2c}.project-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.canvas-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(90deg,rgba(38,50,56,.04) 1px,transparent 1px),linear-gradient(rgba(38,50,56,.04) 1px,transparent 1px),#e0dbd0;background-size:22px 22px}.editor-canvas{width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default}.editor-canvas:focus{outline:none}.editor-canvas.is-selecting{cursor:default}.editor-canvas.is-selecting .canvas-element,.editor-canvas.is-selecting .selection-controls{cursor:move}.editor-canvas.is-moving-element,.editor-canvas.is-moving-element .canvas-element,.editor-canvas.is-moving-element .canvas-element *,.editor-canvas.is-moving-element .selection-controls *,.editor-canvas.is-moving-element .pen-handles *{cursor:grabbing!important}.editor-canvas[data-transforming=true],.editor-canvas[data-transforming=true] *{cursor:var(--canvas-transform-cursor)!important}.editor-canvas.is-stitching{cursor:crosshair}.editor-canvas.is-panning{cursor:grab}.editor-canvas.is-pasting{cursor:copy}.editor-canvas.is-arranging,.editor-canvas.is-arranging .canvas-element{cursor:crosshair}.editor-canvas.is-panning .canvas-element{cursor:grab}.text-edit-overlay{position:absolute;z-index:12;box-sizing:border-box;border:1px solid rgba(61,90,128,.62);border-radius:4px;outline:0;background:#fffdf7;padding:6px 12px;text-align:center;resize:none;overflow:hidden;transform-origin:center center;box-shadow:0 8px 22px #1f293324}.text-edit-overlay:focus{border-color:#2f6db3;background:#fffdf7f5}.text-edit-move-handle{position:absolute;z-index:13;display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;padding:0;border:1px solid #d8d0c3;border-radius:50%;background:#fffdf7;color:#73776f;box-shadow:0 1px 3px #1f29331a;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.text-edit-move-handle:hover,.text-edit-move-handle:focus-visible{border-color:#3d5a80;background:#e9eef1;color:#193553}.text-edit-move-handle:active{background:#3d5a80;color:#fffdf7;cursor:grabbing}@media (any-pointer: coarse){.text-edit-move-handle:before{content:"";position:absolute;width:48px;height:48px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}}.canvas-element,.canvas-reference-image{cursor:move}.canvas-reference-image.is-locked{cursor:default;pointer-events:none}.canvas-reference-image-move-area rect{fill:#fff;fill-opacity:.001;cursor:move}.reference-image-panel{display:grid;gap:10px;margin-top:14px;border-top:1px solid transparent;background-image:repeating-linear-gradient(to right,#e7e1d7 0 4px,transparent 4px 8px);background-size:calc(100% - 16px) 1px;background-position:center top;background-origin:border-box;background-repeat:no-repeat;padding-top:13px}.reference-image-actions,.reference-image-toggles{display:flex;align-items:center;gap:8px}.reference-image-actions button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;border:1px solid #b9caaa;border-radius:7px;background:#eef5e7;color:#315a2c;padding:0 9px;font:inherit;font-size:12px}.reference-image-toggles{flex-wrap:wrap;color:#535c54;font-size:12px}.reference-image-toggles label{display:inline-flex;align-items:center;gap:4px}.reference-image-transform-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-image-transform-controls .number-stepper{width:100%}.reference-image-transform-controls .number-stepper input{min-width:0}.reference-image-opacity{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:#535c54;font-size:12px}.reference-image-opacity input{min-width:0}.reference-image-opacity output{color:#315a2c;font-variant-numeric:tabular-nums}.reference-image-actions{justify-content:space-between}.reference-image-actions span{flex:1}.reference-image-actions .danger{border-color:#d5aaa2;background:#fff2ef;color:#a34033}.reference-crop-modal{display:grid;width:min(760px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));gap:14px;border:1px solid #c8c0b2;border-radius:10px;background:#fffdf7;padding:18px;box-shadow:0 24px 70px #1f29333d}.reference-crop-preview{width:100%;max-height:min(560px,calc(100vh - 260px));border:1px solid #d8d0c3;border-radius:8px;background:#f2eee5;touch-action:none}.reference-crop-frame{fill:transparent;stroke:#fffdf7;stroke-width:3;cursor:move}.reference-crop-handle{fill:#f8f5ec;stroke:#477847;stroke-width:4;cursor:nwse-resize}.reference-crop-handle-hit-area{fill:#fff;fill-opacity:.001;stroke:none;cursor:nwse-resize}.reference-crop-values{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#6f675c;font-size:13px}.reference-crop-values button{border:0;background:transparent;color:#315a2c;padding:3px 0;font:inherit}.mobile-reference-image-settings{display:grid;width:min(420px,calc(100vw - 32px));gap:14px;border:1px solid #c8c0b2;border-radius:10px;background:#fffdf7;padding:18px;box-shadow:0 24px 70px #1f29333d}.mobile-reference-image-toggles{justify-content:space-between}.mobile-reference-image-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-reference-image-actions button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:4px;border:1px solid #b9caaa;border-radius:8px;background:#eef5e7;color:#315a2c;padding:6px;font:inherit;font-size:13px}.mobile-reference-image-actions button.danger{border-color:#d5aaa2;background:#fff2ef;color:#a34033}.canvas-element.selected{filter:drop-shadow(0 2px 4px rgba(17,24,39,.18))}.toolbar .selection-mode-trigger{border-radius:8px 0 0 8px}.selection-mode-picker{display:inline-flex;margin-left:-7px}.toolbar .selection-mode-arrow{min-width:18px;width:18px;padding:0;border-radius:0 8px 8px 0}.selection-mode-menu{position:fixed;z-index:100;width:174px;padding:5px;border:1px solid #d5cec2;border-radius:10px;background:#fffdf7;box-shadow:0 6px 20px #26323824}.toolbar .selection-mode-menu button{display:flex;width:100%;height:36px;padding:0 9px;gap:9px;border:0;border-radius:6px;font-size:13px}.selection-mode-menu button span{flex:1;text-align:left}.toolbar .selection-mode-menu button[aria-pressed=true]{background:#e9eef1;color:#193553}.app-shell.phone-touch-layout .selection-mode-picker{display:none}@media (pointer: coarse){.toolbar .selection-mode-menu button{height:44px}}.selection-free-path{fill:none;stroke:#3178c6;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.selection-free-path.is-lasso{stroke-dasharray:5 3}.selection-free-path.is-closed{fill:#3178c61a;fill-rule:evenodd}.selection-lasso-start{fill:#fff;stroke:#3178c6;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.selection-lasso-start.is-closed{fill:#3178c6;stroke:#fff}.selection-lasso-hint{pointer-events:none}.selection-lasso-hint rect{fill:#3178c6}.selection-lasso-hint text{fill:#fff;font-size:12px}.selection-marquee{fill:#3d5a8021;stroke:#3d5a80;stroke-dasharray:8 6;stroke-width:2}.selection-controls{cursor:move;opacity:.48;pointer-events:visiblePainted;transition:opacity .12s ease}.selection-controls:hover{opacity:.82}.editor-canvas.is-selection-control-adjusting .selection-controls,.editor-canvas.is-selection-control-adjusting .multi-selection-indicator{visibility:hidden;pointer-events:none}.transform-box{fill:none;stroke:#8c8c8c;stroke-width:.8;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.multi-selection-outline{fill:#4a7ead0e;stroke:#74a0c7;stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.multi-selection-outline.is-primary{fill:#2f6db317;stroke:#2f6db3;stroke-width:2.25;stroke-dasharray:none}.multi-selection-primary-dot{fill:#2f6db3;stroke:#fff;stroke-width:1.25;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(17,24,39,.22))}.rotate-stem{stroke:#8c8c8c;stroke-width:1.25}.rotate-handle{cursor:grab;pointer-events:all}.rotate-handle:active{cursor:grabbing}.rotate-handle circle{fill:#fffdf7;stroke:#8c8c8c;stroke-width:1.25;filter:drop-shadow(0 1px 2px rgba(17,24,39,.18))}.rotate-handle path{fill:none;stroke:#fff;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.resize-handle{cursor:nwse-resize;pointer-events:all}.resize-handle-n,.resize-handle-s{cursor:ns-resize}.resize-handle-e,.resize-handle-w{cursor:ew-resize}.resize-handle-ne,.resize-handle-sw{cursor:nesw-resize}.resize-handle circle{fill:#fffdf7;stroke:#8c8c8c;stroke-width:1.25;filter:drop-shadow(0 1px 2px rgba(17,24,39,.18))}.canvas-snap-hint{position:absolute;z-index:10;left:50%;bottom:54px;transform:translate(-50%);padding:6px 10px;border-radius:7px;background:#191d20d1;color:#fff;font-size:12px;line-height:1.5;white-space:nowrap;pointer-events:none;animation:canvas-snap-hint-fade 4s ease both}.canvas-placement-hint-top{top:12px;bottom:auto;z-index:50;animation-duration:2.5s}.grid-snap-shortcut-hint{animation-duration:15s}.stitch-preview-shortcut-hint{animation-duration:5s}@keyframes canvas-snap-hint-fade{0%,to{opacity:0}8%,88%{opacity:1}}@media (prefers-reduced-motion: reduce){.canvas-snap-hint{animation:none}}.canvas-status{position:absolute;right:14px;bottom:14px;display:flex;gap:8px;align-items:center}.canvas-status>span,.canvas-status-pill,.canvas-stitch-type-switch,.canvas-zoom-pill,.canvas-zoom-slider{border:1px solid rgba(38,50,56,.15);border-radius:8px;background:#fffdf7ed;padding:7px 10px;color:#3d3a35;font-size:13px;box-shadow:0 8px 24px #1f29331f}.canvas-status-pill,.canvas-stitch-type-switch,.canvas-zoom-pill{cursor:pointer;font:inherit}.canvas-stitch-type-switch{display:inline-flex;align-items:center;gap:4px}.canvas-stitch-type-picker{position:relative}.canvas-stitch-type-options{position:absolute;right:0;bottom:calc(100% + 8px);z-index:12;display:grid;width:100%;min-width:0;box-sizing:border-box;gap:4px;border:1px solid rgba(38,50,56,.15);border-radius:8px;background:#fffdf7f7;padding:5px;box-shadow:0 10px 28px #1f29332e}.canvas-stitch-type-options button{height:30px;border:1px solid transparent;border-radius:6px;background:transparent;color:#3d3a35;font:inherit;font-size:12px}.canvas-stitch-type-options button.active{border-color:#71875d;background:#edf4e4;color:#315a2c}.canvas-zoom-pill{user-select:none;-webkit-user-select:none;cursor:pointer}.canvas-missing-symbol-warning{border:1px solid #d9a26f;border-radius:8px;background:#fff3e5;color:#9a4f16;cursor:pointer;padding:7px 9px;font:inherit;font-size:13px;font-weight:700}.canvas-missing-symbol-warning:hover{border-color:#b86e2d;background:#ffead5}.canvas-zoom-slider{display:flex;align-items:center;width:min(180px,42vw);padding:6px 9px}.canvas-zoom-slider input{width:100%;margin:0;accent-color:#3d5a80;touch-action:none}.canvas-status.is-zoom-adjusting{flex-wrap:nowrap}.canvas-status.is-zoom-adjusting>:not(.canvas-zoom-slider):not(.canvas-zoom-pill){display:none}.canvas-status-pill,.canvas-zoom-pill{position:relative;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.canvas-status-pill:hover,.canvas-status-pill[aria-expanded=true],.canvas-stitch-type-switch:hover,.canvas-zoom-pill:hover,.canvas-zoom-pill.is-open{border-color:#3d5a80;background:#e7f0f9;color:#27496f;box-shadow:0 10px 28px #27496f38;transform:translateY(-1px)}.canvas-status-pill[aria-expanded=false]:hover:after,.canvas-zoom-pill:not(.is-open):hover:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);z-index:10;width:max-content;max-width:180px;border-radius:6px;background:#263238;padding:6px 8px;color:#fff;font-size:12px;font-weight:500;line-height:1.25;white-space:nowrap;box-shadow:0 8px 20px #1f293333;pointer-events:none}.canvas-stats-popover{position:absolute;right:0;bottom:calc(100% + 8px);z-index:8;width:min(320px,calc(100vw - 32px));border:1px solid #d6cec1;border-radius:10px;background:#fffdf7;box-shadow:0 18px 44px #1f29332e;padding:10px}.canvas-stats-popover.layer-popover.is-floating{position:fixed;right:auto;bottom:auto;z-index:70}.canvas-stats-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 9px;color:#263238}.canvas-stats-title.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-stats-title.is-draggable:active{cursor:grabbing}.canvas-stats-title.is-draggable strong{margin-right:auto}.layer-popover-drag-icon{flex:none;color:#948c80}.canvas-stats-title span{border:0;background:transparent;box-shadow:none;padding:0;color:#6b6258}.layer-popover-close{display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;border:1px solid #d6cec1;border-radius:6px;background:#f4f6ed;color:#263238;cursor:pointer}.canvas-stats-body{display:grid;max-height:430px;overflow-y:auto;gap:10px;padding-right:2px}.layer-popover .canvas-stats-body{display:none}.layer-list-resize-handle{position:absolute;top:-9px;right:18px;left:18px;z-index:2;height:16px;cursor:ns-resize;touch-action:none}.layer-list-resize-handle:before{content:"";position:absolute;top:7px;right:38%;left:38%;height:3px;border-radius:999px;background:#b7b0a4}.layer-list-resize-handle:hover:before{background:#71875d}.layer-list{height:var(--layer-list-height, min(430px, calc(100vh - 220px) ));max-height:calc(100vh - 220px);overflow-y:auto;overflow-x:hidden;border-top:1px solid #e5ddd0}.layer-virtual-content,.layer-virtual-members{position:relative}.layer-virtual-item,.layer-virtual-member{position:absolute;left:0;width:100%;display:flow-root}.layer-virtual-item>.layer-group{height:calc(100% - 12px)}.layer-list{overflow-anchor:none}.layer-list-end-drop-zone{position:relative;min-height:28px}.layer-list.is-drop-at-end .layer-list-end-drop-zone:before{content:"";position:absolute;top:9px;right:4px;left:4px;height:3px;border-radius:999px;background:#779763;box-shadow:0 0 0 1px #f8f6f0}.layer-group-row button{min-width:0;height:30px;border:1px solid #c8c0b2;border-radius:7px;background:#fffdf7;color:#35424d}.layer-group-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;margin:0 0 8px}.layer-group-assign-form{grid-template-columns:minmax(0,1fr) auto auto auto}.layer-group-merge-form{grid-template-columns:minmax(70px,1fr) auto auto}.layer-group-merge-form.has-rename{grid-template-columns:minmax(70px,1fr) auto auto auto}.layer-group-start-form{display:flex;flex-wrap:wrap;justify-content:flex-end}.layer-group-selection-note{grid-column:1 / -1;color:#7b7468;font-size:11px;line-height:1.35}.layer-group-start-form .layer-group-selection-note{flex-basis:100%;text-align:right}.layer-group-create-form button{min-width:0;height:30px;border:1px solid #c8c0b2;border-radius:7px;background:#fffdf7;color:#35424d;font-size:12px}.layer-group-create-form button{padding:0 7px}.layer-group-target-select{position:relative;min-width:0}.layer-group-create-form .layer-group-target-trigger,.local-draft-page-size .layer-group-target-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:6px;padding:0 9px;text-align:left}.layer-group-target-trigger span,.layer-group-target-options span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-group-target-trigger svg{flex:none;color:#6f7b68;transition:transform .16s ease}.layer-group-create-form button.layer-group-target-trigger[aria-expanded=true],.local-draft-page-size button.layer-group-target-trigger[aria-expanded=true]{border-color:#a9bed4;background:#e9eef1}.layer-group-target-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.layer-group-target-options{position:absolute;z-index:10;top:calc(100% + 4px);left:0;min-width:max(100%,150px);max-width:min(240px,calc(100vw - 48px));max-height:min(220px,40vh);overflow-y:auto;padding:4px;border:1px solid #c8d4b9;border-radius:8px;background:#fffdf7;box-shadow:0 8px 22px #24344725}.layer-group-create-form .layer-group-target-options button,.local-draft-page-size .layer-group-target-options button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:6px;border:0;background:transparent;text-align:left}.layer-group-create-form .layer-group-target-options button:hover,.layer-group-create-form .layer-group-target-options button:focus-visible,.layer-group-create-form .layer-group-target-options button[aria-selected=true],.local-draft-page-size .layer-group-target-options button:hover,.local-draft-page-size .layer-group-target-options button:focus-visible,.local-draft-page-size .layer-group-target-options button[aria-selected=true]{background:#e9eef1;color:#193553}.layer-group-target-options svg{flex:none}.layer-group-create-form button:hover:not(:disabled),.layer-group-row button:hover:not(:disabled){border-color:#71875d;background:#edf4e4;color:#315a2c}.layer-group{margin:6px 0;overflow:hidden;border:1px solid #dce5d4;border-radius:8px}.layer-group.is-selected{border-color:#6d9ac2;box-shadow:0 0 0 1px #3d5a803d}.layer-group.is-dragging{opacity:.42}.layer-group.is-drop-target,.layer-group.is-element-drop-target{position:relative;overflow:visible}.layer-group.is-drop-target:before,.layer-group.is-element-drop-target:before{content:"";position:absolute;z-index:3;top:-4px;right:4px;left:4px;height:3px;border-radius:999px;background:#779763;box-shadow:0 0 0 1px #f8f6f0;pointer-events:none}.layer-group.is-drop-target>.layer-group-row,.layer-group.is-element-drop-target>.layer-group-row{border-radius:7px 7px 0 0}.layer-group.is-drop-target>.layer-group-row:last-child,.layer-group.is-element-drop-target>.layer-group-row:last-child{border-radius:7px}.layer-group-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,30px);min-height:32px;background:#edf3e8}.layer-group-row.is-selected{background:#e9eef1;box-shadow:inset 3px 0 #3d7bb3}.layer-group-row.is-selected button,.layer-group-row.is-selected button:hover:not(:disabled){background:#e9eef1}.layer-group-row.is-selected .layer-group-select{color:#27496f}.layer-group-row.is-selected .layer-group-drag-icon,.layer-group-row.is-selected .layer-group-select em{color:#3d5a80}.layer-group-row button{height:32px;border:0;border-radius:0}.layer-group-select{display:flex;min-width:0;align-items:center;gap:6px;padding:0 8px;text-align:left;color:#315a2c;font-weight:650;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.layer-group-select:active{cursor:grabbing}.layer-group-drag-icon{flex:0 0 auto;color:#71875d}.layer-group-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-group-select em{flex:0 0 auto;color:#71875d;font-size:10px;font-style:normal}.layer-group-action{border-left:0!important}.layer-group-members{padding:2px 0 2px 8px;background:#fcfbf8}.layer-group-member-row{grid-template-columns:minmax(0,1fr) 32px 32px;margin-left:12px;border-bottom:0;background:#fffdf7}.layer-group-member-end-drop-zone{position:relative;min-height:28px;margin-left:12px}.layer-group-members.is-drop-at-end .layer-group-member-end-drop-zone:before{content:"";position:absolute;top:9px;right:4px;left:4px;height:3px;border-radius:999px;background:#779763;box-shadow:0 0 0 1px #f8f6f0;pointer-events:none}.layer-member-label{display:flex;min-width:0;height:100%}.layer-member-label .layer-select{flex:1 1 auto}.layer-remove-from-group{flex:0 0 24px;display:grid;place-items:center;height:100%;padding:0;border:0;border-radius:0;background:transparent;color:#80907b}.layer-remove-from-group:hover{background:#f7ebe4;color:#a24d35}.layer-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;height:42px;align-items:center;border-bottom:0;background:#fffdf7}.layer-row.is-selected{background:#e9eef1}.layer-row.is-hidden{opacity:.52}.layer-row.is-locked{background:#f4f0e8}.layer-row.is-selected.is-locked{background:#e9eef1}.layer-row.is-dragging{opacity:.42}.layer-row.is-drop-target{box-shadow:inset 0 2px #779763}.layer-select,.layer-action,.layer-drag-handle{min-width:0;height:100%;border:0;border-radius:0;background:transparent;color:#35424d}.layer-select{display:flex;align-items:center;gap:6px;overflow:hidden;padding:0 10px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.layer-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-select:active{cursor:grabbing}.layer-action{border-left:0;font-size:12px}.layer-select:hover,.layer-action:hover{background:#eaf1e3}.layer-row.is-selected .layer-select:hover,.layer-row.is-selected .layer-action:hover{background:#e9eef1}.layer-ungrouped-drag-icon{flex:0 0 auto;color:#80907b}.layer-unlock-icon{display:block;transform:rotate(-18deg) translate(1px,-1px);transform-origin:center}@media (max-width: 820px),(hover: none) and (pointer: coarse){.layer-group-assign-form{grid-template-columns:minmax(42px,1fr) auto auto auto;gap:3px}.layer-group-assign-form button{height:32px;padding:0 4px;font-size:11px;white-space:nowrap}.layer-group-row{grid-template-columns:minmax(0,1fr) repeat(4,38px);min-height:44px}.layer-group-row button{height:44px}.layer-row,.layer-group-member-row{grid-template-columns:minmax(0,1fr) 40px 40px;height:44px}.layer-group-members{padding-block:4px}.layer-remove-from-group{flex-basis:30px}}.canvas-stats-section{display:grid;gap:7px}.canvas-stats-subtitle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px;color:#263238;font-size:12px}.canvas-stats-subtitle span{border:0;background:transparent;box-shadow:none;padding:0;color:#7b7165;font-size:12px}.canvas-stats-list{display:grid;gap:7px}.canvas-stat-select-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;border:1px solid #d6cec1;border-radius:8px;background:#fffdf7;padding:8px 10px;color:#263238;text-align:left}.canvas-stat-select-button:hover{border-color:#3d5a80;background:#edf4fb}.canvas-stats-list span{overflow:hidden;min-width:0;border:0;background:transparent;box-shadow:none;padding:0;text-overflow:ellipsis;white-space:nowrap}.canvas-color-select-list{display:grid;gap:7px}.canvas-color-select-button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;min-height:38px;align-items:center;gap:10px;border:1px solid #d6cec1;border-radius:8px;background:#fffdf7;padding:7px 9px;color:#263238;text-align:left}.canvas-color-select-button:hover{border-color:#3d5a80;background:#edf4fb}.canvas-stat-select-button.is-selected,.canvas-color-select-button.is-selected{border-color:#2f6db3;background:#e4f1fb;box-shadow:inset 0 0 0 1px #2f6db342}.canvas-stat-select-button.is-selected strong,.canvas-color-select-button.is-selected strong{color:#193553}.canvas-color-select-button span{overflow:hidden;min-width:0;border:0;background:transparent;box-shadow:none;padding:0;text-overflow:ellipsis;white-space:nowrap}.canvas-color-select-swatch{width:20px;height:20px;border:1px solid rgba(38,50,56,.22)!important;border-radius:6px;box-shadow:inset 0 0 0 2px #fffdf7ad!important}.property-panel .property-panel-section{margin:0 0 10px;padding:0 0 14px;border:0;border-radius:6px;background:transparent;box-shadow:none;transition:background-color .14s ease,box-shadow .14s ease}.property-panel .property-panel-section{border-top:2px solid #c9c1b4}.property-panel .property-panel-section:has(input:focus,select:focus,textarea:focus,[contenteditable=true]:focus){background:#f0f2e9;box-shadow:0 0 0 6px #f0f2e9}.symbol-panel>.sidebar-section,.symbol-panel>.symbol-library-panel{border-radius:6px;transition:background-color .14s ease}@media (hover: hover){.symbol-panel>.sidebar-section:hover,.symbol-panel>.symbol-library-panel:hover{background-color:#f0f2e9}.property-panel .property-panel-section:hover{background:#f0f2e9;box-shadow:0 0 0 6px #f0f2e9}}@media (prefers-reduced-motion: reduce){.property-panel .property-panel-section,.symbol-panel>.sidebar-section,.symbol-panel>.symbol-library-panel{transition:none}}.property-panel .property-panel-section:last-child{margin-bottom:0;padding-bottom:0}.property-panel-footer{flex:0 0 auto;border-top:1px solid #d7d0c3;background:#f8f5ec;padding:6px 8px;text-align:center}.property-panel-footer nav{display:flex;align-items:center;justify-content:center;gap:10px}.property-panel-footer a{color:#6b6258;font-size:11px;line-height:1.35;text-decoration:none;white-space:nowrap}.property-panel-footer a:hover{color:#3d5a80;text-decoration:underline}.property-panel-footer .site-filing-number{display:inline-block;margin-top:0}.property-panel-footer .public-security-filing-number{display:inline-flex;align-items:center;gap:3px;margin-top:3px}.property-panel-footer .public-security-filing-number img{width:14px;height:14px;object-fit:contain}.property-panel h2{margin:0;font-size:15px;letter-spacing:0}.property-section-heading{line-height:1}.property-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:7px 0;border-radius:0;background:transparent;color:#263238;font-weight:inherit;text-align:left;cursor:pointer}.property-section-toggle:hover{color:#365f39}.property-section-toggle:focus-visible{border-radius:4px;outline:2px solid #7d9cbc;outline-offset:3px}.property-section-toggle-title,.property-section-toggle-state{display:inline-flex;align-items:center}.property-section-toggle-title{gap:8px;font-weight:700}.property-section-toggle-title svg{color:#527251}.property-section-toggle-state{gap:0;color:#8a8175;font-size:12px;font-weight:500}.property-section-toggle-state>span{display:none}.property-section-toggle-state svg{flex:0 0 auto;transform:rotate(-90deg);transition:transform .16s ease}.property-section-toggle-state svg.is-open{transform:rotate(0)}.property-panel-section.is-open .property-section-toggle{color:#263238}.property-panel-section.is-open .property-section-toggle-state{color:#55704d}.property-panel-section>:not(.property-section-heading){margin:10px 0 0}.canvas-shape-control{display:flex;gap:4px;margin-bottom:10px;padding:3px;border:1px solid #e4ddcf;border-radius:9px;background:#f0ece3}.canvas-shape-control button{min-width:0;height:32px;flex:1 1 0;border:1px solid transparent;border-radius:6px;background:transparent;color:#766f67;padding:0;font-size:13px;white-space:nowrap}.canvas-shape-control button:hover{background:#e7efdf;color:#2f3b43}.canvas-shape-control button.active{border-color:#a9bb97;background:#edf4e4;color:#315a2c;font-weight:700}.field-grid{display:grid;gap:8px}.field-grid.two{grid-template-columns:1fr 1fr}#canvas-property-section .canvas-dimension-fields.is-rect{grid-template-columns:repeat(3,minmax(0,1fr))}.canvas-dimension-fields>label{min-width:0}.canvas-dimension-fields input[type=number]{width:100%}.canvas-settings-toolbar{position:relative;display:flex;gap:6px;margin-top:10px}.canvas-settings-toolbar button{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#35424d;padding:0}.canvas-settings-toolbar button:is(.active,:hover){border-color:#71875d;background:#edf4e4;color:#315a2c}html[lang=en] button.canvas-parity-button{font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.canvas-background-controls{margin-top:10px}.canvas-numbering-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.canvas-numbering-section{display:grid;min-width:0;gap:5px;color:#5f574f;font-size:12px}.canvas-numbering-button-row{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:4px}.canvas-numbering-controls.is-circle .canvas-numbering-button-row{grid-template-columns:minmax(0,1fr)}.canvas-numbering-button-row button{min-width:0;height:28px;padding:0 4px;border:1px solid #d4ccbf;border-radius:6px;background:#fffdf7;color:#35424d;font-size:12px;white-space:nowrap}.canvas-numbering-button-row button:hover{border-color:#a9bb97;background:#edf4e4;color:#315a2c}@media (max-width: 640px),(pointer: coarse){.canvas-numbering-button-row button{min-height:44px}}.field-grid label,.field-grid .field-control{display:grid;gap:5px;color:#5f574f;font-size:12px}.field-grid input{min-width:0;height:34px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:6px 8px;color:#1f2933}.number-stepper-field{min-width:0}.number-stepper{display:grid;grid-template-columns:27px minmax(30px,1fr) 27px 30px;gap:3px;min-width:0}.field-grid .number-stepper input{width:100%;height:30px;padding:6px;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.field-grid .number-stepper input::-webkit-inner-spin-button,.field-grid .number-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.number-stepper-button,.number-stepper-reset,.number-stepper-reset-placeholder{display:inline-flex;height:30px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:7px;background:#fffdf7;color:#44515c;padding:0}.number-stepper-button{width:27px}.number-stepper-reset,.number-stepper-reset-placeholder{width:30px}.number-stepper-reset-placeholder{border-color:transparent;background:transparent}.number-stepper-button{font-size:18px;line-height:1;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.number-stepper-button:hover:not(:disabled),.number-stepper-button:focus-visible,.number-stepper-reset:hover:not(:disabled),.number-stepper-reset:focus-visible{border-color:#8aa077;background:#edf4e4;color:#315a2c;outline:none}.number-stepper-button:disabled,.number-stepper-reset:disabled{cursor:default;opacity:.38}.text-opacity-control{display:grid;gap:7px;min-width:0;color:#5f574f;font-size:12px}.text-property-panel{display:grid;gap:10px}.text-property-toolbar{display:flex;flex-wrap:nowrap;gap:4px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;padding-bottom:9px;border-bottom:1px solid #ded6ca}.text-property-toolbar::-webkit-scrollbar{display:none}.text-property-toolbar button{display:inline-flex;flex:0 0 32px;height:32px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#35424d;padding:0}.text-property-toolbar.has-layer-actions button{flex:0 0 32px}.text-property-toolbar-shell{position:relative;min-width:0}.text-property-scroll-arrow{position:absolute;z-index:2;top:4px;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid #bfb6a8;border-radius:999px;background:#fffdf7;box-shadow:0 1px 8px #3d362d38;color:#35424d;padding:0}.text-property-scroll-arrow.is-left{left:2px}.text-property-scroll-arrow.is-right{right:2px}.text-list-style-icon{display:grid;width:19px;gap:1px;color:currentColor}.text-list-style-icon>i{display:flex;height:5px;align-items:center;gap:2px;font-style:normal}.text-list-style-icon>i>b{width:5px;flex:0 0 5px;font-size:7px;font-weight:700;line-height:5px;text-align:center}.text-list-style-icon.is-bullet>i>b{font-size:10px}.text-list-style-icon>i>span{width:12px;height:2px;border-radius:999px;background:currentColor}.text-list-style-icon.is-none>i>span{width:17px}.text-toolbar-tooltip{position:fixed;z-index:10000;max-width:min(260px,calc(100vw - 16px));padding:6px 9px;border-radius:8px;background:#242428;color:#fff;font-size:12px;font-weight:500;line-height:1.25;box-shadow:0 2px 7px #00000024;pointer-events:none}.text-toolbar-tooltip:before{content:"";position:absolute;left:var(--tooltip-arrow);top:-4px;width:8px;height:8px;background:inherit;transform:translate(-50%) rotate(45deg)}.text-toolbar-tooltip.is-above:before{top:auto;bottom:-4px}.text-property-toolbar button:disabled{cursor:default;opacity:.36}.text-property-toolbar button.active,.text-property-toolbar button:hover{border-color:#71875d;background:#edf4e4;color:#315a2c}.text-property-toolbar button:disabled:hover{border-color:#c8c0b2;background:#fffdf7;color:#35424d}.stitch-property-toolbar{display:flex;gap:4px}.stitch-property-toolbar.has-canvas-align,.stitch-property-toolbar.stitch-canvas-align-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}.stitch-property-toolbar.stitch-canvas-align-options{grid-template-columns:repeat(6,minmax(0,1fr))}.stitch-property-appearance{grid-column:1 / -1;display:grid;gap:7px;margin-top:4px;padding-top:10px;border-top:1px solid #ddd5c8}.stitch-property-toolbar button{display:inline-flex;flex:0 0 32px;height:32px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#35424d;padding:0}.stitch-property-toolbar button.active,.stitch-property-toolbar button:hover{border-color:#71875d;background:#edf4e4;color:#315a2c}.stitch-property-toolbar.has-guide{border-radius:9px;outline:2px solid #6f984f;outline-offset:3px;animation:stitch-appearance-guide-pulse 1.2s ease-in-out 2}.stitch-appearance-guide{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;border:1px solid #78945f;border-radius:9px;background:#f2f8e9;box-shadow:0 4px 14px #2f442529;padding:8px 9px;color:#43523a;font-size:12px}.stitch-appearance-guide:before{position:absolute;top:-6px;left:14px;width:10px;height:10px;border-top:1px solid #78945f;border-left:1px solid #78945f;background:#f2f8e9;content:"";transform:rotate(45deg)}.stitch-appearance-guide strong,.stitch-appearance-guide span{grid-column:1}.stitch-appearance-guide button{grid-column:2;grid-row:1 / 3;align-self:center;min-width:54px;height:30px;padding:0 8px}@keyframes stitch-appearance-guide-pulse{50%{outline-color:#9ac477}}@media (prefers-reduced-motion: reduce){.stitch-property-toolbar.has-guide{animation:none}}.stitch-property-option-row{grid-column:1 / -1}.stitch-color-swatch-icon{display:block;width:17px;height:17px;border:1px solid rgb(31 41 51 / 20%);border-radius:5px}.text-font-size-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,.9fr);gap:6px}.text-layout-icon{display:block;width:18px;height:18px;flex-shrink:0}.text-weight-icon{font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1}.text-weight-bold .text-weight-icon{font-weight:800}.text-font-display,.text-size-inline{display:inline-flex;height:36px;align-items:center;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#28333d;font-size:13px;font-weight:650}.text-font-display{flex:1 1 88px;min-width:88px;padding:0 9px;white-space:nowrap}select.text-font-display{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.text-size-inline{flex:1 1 88px;min-width:88px;justify-content:space-between}.text-size-inline button{flex:0 0 28px;height:34px;border:0;border-radius:7px;background:transparent;color:inherit;font-size:19px;line-height:1}.text-size-inline button:hover:not(:disabled){background:#edf4e4;color:#315a2c}.text-size-inline input{flex:1 1 26px;width:26px;min-width:0;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;text-align:center;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.text-size-inline input::-webkit-inner-spin-button,.text-size-inline input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.text-opacity-icon{display:grid;width:19px;grid-template-columns:repeat(3,5px);gap:2px}.text-opacity-icon i{width:5px;height:5px;border-radius:50%;background:#35424d}.text-opacity-icon i:nth-child(3n+1){opacity:1}.text-opacity-icon i:nth-child(3n+2){opacity:.6}.text-opacity-icon i:nth-child(3n){opacity:.22}.text-color-icon{position:relative;display:inline-flex;width:19px;height:23px;align-items:flex-start;justify-content:center;font-family:Georgia,serif;font-size:22px;font-weight:700;line-height:19px}.text-color-icon i{position:absolute;right:0;bottom:0;left:0;height:4px;border-radius:99px;background:linear-gradient(90deg,#ec4c55,#f5a23d 20%,#efd84b 38%,#55b968 55%,#3b9dd7 73%,#7554bd 88%,#df4f98)}.text-property-editor{width:100%;min-width:100%;min-height:76px;max-width:100%;box-sizing:border-box;resize:both;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#28333d;font:inherit;line-height:1.45;padding:9px 10px}.text-property-editor:focus{border-color:#71875d;box-shadow:0 0 0 3px #71875d24;outline:none}.text-property-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.text-property-actions button{height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#35424d}.text-property-actions button.active{border-color:#71875d;background:#edf4e4;color:#315a2c;font-weight:700}.text-property-panel .number-stepper input{width:100%;height:30px;box-sizing:border-box;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:6px;color:#1f2933;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.text-property-panel .number-stepper input::-webkit-inner-spin-button,.text-property-panel .number-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.text-opacity-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:10px}.text-opacity-slider{display:flex;align-items:center;position:relative;width:100%;height:8px;border-radius:999px}.text-opacity-slider input[type=range]{width:calc(100% + 28px);height:28px;margin:0 -14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.text-opacity-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:transparent}.text-opacity-slider input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-10px;border:1px solid #c8c0b2;border-radius:50%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fffdf7;box-shadow:0 2px 5px #1f29332e}.text-opacity-slider input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:transparent}.text-opacity-slider input[type=range]::-moz-range-thumb{width:26px;height:26px;border:1px solid #c8c0b2;border-radius:50%;background:#fffdf7;box-shadow:0 2px 5px #1f29332e}.text-opacity-row output{display:inline-flex;height:34px;align-items:center;justify-content:center;border:1px solid #c8c0b2;border-radius:10px;background:#fffdf7;color:#1f2933;font-size:16px;font-variant-numeric:tabular-nums}.stitch-structure-controls{grid-column:1 / -1;display:grid;gap:10px;margin-top:4px;padding-top:10px;border-top:1px solid #ddd5c8}.stitch-structure-controls>strong{color:#33485d;font-size:13px}.stitch-structure-group{display:grid;gap:6px}.stitch-structure-group-title{color:#5f574f;font-size:12px;font-weight:600}.stitch-structure-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.stitch-structure-controls .number-stepper{grid-template-columns:24px minmax(40px,1fr) 24px 27px;gap:2px}.stitch-structure-controls .number-stepper-button{width:24px}.stitch-structure-controls .number-stepper-reset,.stitch-structure-controls .number-stepper-reset-placeholder{width:27px}.field-grid .stitch-structure-controls .number-stepper input{padding-inline:2px;font-size:11px}.quick-arrange-panel{display:grid;gap:12px}.quick-arrange-mode-tabs{display:flex;gap:4px;padding:3px;border:1px solid #e4ddcf;border-radius:9px;background:#f0ece3}.quick-arrange-mode-tabs button{min-width:0;height:32px;flex:1 1 0;border:1px solid transparent;border-radius:6px;background:transparent;color:#766f67;padding:0;font-size:13px;white-space:nowrap}.quick-arrange-mode-tabs button:hover{background:#e7efdf;color:#2f3b43}.quick-arrange-mode-tabs button.active{background:#edf4e4;border-color:#a9bb97;color:#315a2c;font-weight:700}.property-panel .property-editor .stitch-transform-tabs,.property-panel .property-editor .stitch-transform-control,.property-panel .property-editor .multi-rotation-control,.property-panel .property-editor .multi-scale-control{grid-column:1 / -1}.property-panel .property-editor .stitch-transform-tabs button{font-size:12px}.stitch-rotation-feedback rect{fill:#252b30;filter:drop-shadow(0 1px 3px rgb(0 0 0 / 18%))}.stitch-rotation-feedback text{fill:#fff;font-family:Consolas,Courier New,monospace;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}.property-panel .property-editor :is(.stitch-rotation-preset-cycle,.stitch-scale-preset-cycle){position:relative;display:inline-flex;min-width:38px;height:21px;align-items:center;justify-content:center;margin-left:6px;padding:0 4px;border:1px solid #d4ccbf;border-radius:5px;background:#f8f6f0;color:#38553a;font-size:11px;font-variant-numeric:tabular-nums}.property-panel .property-editor :is(.stitch-rotation-preset-cycle,.stitch-scale-preset-cycle):hover:not(:disabled){background:#edf4e4;border-color:#a9bb97}.property-panel .property-editor .stitch-scale-preset-cycle:disabled{opacity:.45;cursor:not-allowed}.property-panel .property-editor .stitch-rotation-preset-cycle:is(:hover,:focus-visible):after,.property-panel .property-editor .stitch-scale-preset-cycle:not(:disabled):is(:hover,:focus-visible):after,.multi-scale-mode-toggle button:is(:hover,:focus-visible):after,.multi-rotation-mode-toggle button:is(:hover,:focus-visible):after{content:attr(data-tooltip);position:absolute;z-index:5;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 6px;border-radius:5px;background:#252b30;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 2px 5px #0000002e}.quick-arrange-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.quick-arrange-fields label{display:grid;min-width:0;gap:4px;color:#61594f;font-size:12px}.quick-arrange-confirm{grid-column:1 / -1;min-width:48px;height:34px;align-self:end;border:1px solid #a9bb97;border-radius:7px;background:#edf4e4;color:#315a2c;padding:0 7px;font-size:13px;font-weight:600}.quick-arrange-panel .quick-arrange-stepper input{padding-inline:2px;font-size:12px;font-variant-numeric:tabular-nums}.quick-arrange-preview-symbols{opacity:.95}.quick-arrange-preview-guide{fill:none;stroke:#c87524;stroke-width:1.5;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.quick-arrange-placement-hint{margin-top:4px}.quick-arrange-stepper{grid-template-columns:27px minmax(0,1fr) 27px}.quick-arrange-stepper input{width:100%;height:30px;min-width:0;box-sizing:border-box;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#1f2933;padding:6px;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.quick-arrange-stepper input::-webkit-inner-spin-button,.quick-arrange-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.muted{margin:0;color:#736a60;font-size:13px;line-height:1.5}.property-panel .muted,.reference-image-actions span,.selection-summary span{font-family:inherit;font-size:12px;font-weight:400;color:#736a60;line-height:1.5}.property-editor{display:grid;gap:12px}.selection-tools{display:grid;gap:10px;border:0;border-radius:0;background:transparent;padding:0}.selection-summary strong,.selection-summary span{display:block}.selection-summary span{margin-top:3px}.selection-tool-tabs{display:flex;gap:2px;border-bottom:1px solid #ded7cb}.selection-tool-tabs button{min-width:0;height:34px;flex:1 1 0;border:0;border-radius:0;background:transparent;color:#766f67;font-size:13px;white-space:nowrap}.selection-tool-tabs button:hover:not(:disabled){border-color:transparent;color:#2f3b43}.selection-tool-tabs button.active{box-shadow:inset 0 -3px #8b42f6;color:#20262c;font-weight:700}.selection-tool-tabs button:disabled{cursor:not-allowed;color:#c9c3ba}.selection-tool-content{display:grid;gap:8px}.property-panel .property-editor .field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.property-panel .property-editor .field-control.number-stepper-field{position:relative;grid-template-columns:minmax(0,1fr);align-content:start}.property-panel .property-editor .field-control.number-stepper-field>span:first-child{min-height:22px;padding-right:24px;display:flex;align-items:center}.stitch-spacing-header{display:grid;grid-template-columns:27px minmax(0,1fr) 27px;min-height:24px;align-items:center;gap:3px;font-size:12px}.stitch-spacing-header span{white-space:nowrap}.stitch-spacing-header button{grid-column:2;justify-self:end;padding:3px 6px;border:1px solid #d4ccbf;border-radius:5px;background:#fffdf7;color:#315a2c;font-size:11px;cursor:pointer}.stitch-spacing-header button:hover{background:#edf4e4}.mobile-spacing-control{display:grid;min-width:0;gap:4px}.mobile-property-sheet .stitch-spacing-header{grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:4px}.mobile-property-sheet .stitch-spacing-header span{grid-column:1 / 3;grid-row:1;justify-self:start}.mobile-property-sheet .stitch-spacing-header button{grid-row:1}.property-panel .property-editor .field-control.number-stepper-field .number-stepper{grid-template-columns:27px minmax(0,1fr) 27px;gap:3px}.property-panel .property-editor .field-control.number-stepper-field .number-stepper input{padding-inline:2px;font-size:12px;font-variant-numeric:tabular-nums}.property-panel .property-editor .field-control.number-stepper-field .number-stepper-button{width:27px}.property-panel .property-editor .field-control.number-stepper-field .number-stepper-reset{position:absolute;top:0;right:2.5px;width:22px;height:22px}.property-panel .property-editor .field-control.number-stepper-field .number-stepper-reset-placeholder{display:none}.multi-scale-mode-toggle,.multi-rotation-mode-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;border:1px solid #d4ccbf;border-radius:7px;background:#f0ece3}.multi-scale-mode-toggle button,.multi-rotation-mode-toggle button{min-width:0;height:22px;border:0;border-radius:0;background:transparent;color:#6b6257;padding:0 5px;font-size:10px;line-height:1}.multi-scale-mode-toggle button,.multi-rotation-mode-toggle button{position:relative}.multi-scale-mode-toggle button:first-child,.multi-rotation-mode-toggle button:first-child{border-radius:6px 0 0 6px}.multi-scale-mode-toggle button:last-child,.multi-rotation-mode-toggle button:last-child{border-radius:0 6px 6px 0}.multi-scale-mode-toggle button+button,.multi-rotation-mode-toggle button+button{border-left:1px solid #d4ccbf}.multi-scale-mode-toggle button.active,.multi-rotation-mode-toggle button.active{background:#e4eedb;color:#315a2c;font-weight:700}.property-panel .property-editor .multi-scale-control .multi-scale-mode-toggle,.property-panel .property-editor .multi-rotation-control .multi-rotation-mode-toggle{position:absolute;top:0;right:30px}.mobile-multi-scale-control,.mobile-multi-rotation-control{display:grid;gap:8px}.mobile-multi-scale-control>.multi-scale-mode-toggle,.mobile-multi-rotation-control>.multi-rotation-mode-toggle{position:static;width:100%}.mobile-multi-scale-control>.multi-scale-mode-toggle button,.mobile-multi-rotation-control>.multi-rotation-mode-toggle button{min-height:36px;font-size:13px}.property-panel .property-editor .selection-tool-tabs{gap:4px;padding:3px;border:1px solid #e4ddcf;border-radius:9px;background:#f0ece3}.property-panel .property-editor .selection-tool-tabs button{height:32px;border:1px solid transparent;border-radius:6px}.property-panel .property-editor .selection-tool-tabs button.active{background:#edf4e4;border-color:#a9bb97;box-shadow:none;color:#315a2c}.property-panel .property-editor .selection-tool-tabs button:hover:not(:disabled){background:#e7efdf}.property-panel .property-editor .selection-property-controls{margin-top:4px;padding-top:12px}.property-panel .property-editor .stitch-structure-controls{margin-top:6px;padding-top:12px}.circle-radius-control{display:grid;gap:7px;min-width:0;color:#5f574f;font-size:13px}.circle-radius-row{display:grid;grid-template-columns:minmax(0,1fr) 66px;align-items:center;gap:10px}.circle-radius-slider{display:flex;align-items:center;position:relative;width:100%;height:8px;border-radius:999px}.circle-radius-slider input[type=range]{width:calc(100% + 28px);height:28px;margin:0 -14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.circle-radius-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:transparent}.circle-radius-slider input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-10px;border:1px solid #c8c0b2;border-radius:50%;background:#fffdf7;box-shadow:0 2px 5px #1f29332e;-webkit-appearance:none;-moz-appearance:none;appearance:none}.circle-radius-slider input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:transparent}.circle-radius-slider input[type=range]::-moz-range-thumb{width:26px;height:26px;border:1px solid #c8c0b2;border-radius:50%;background:#fffdf7;box-shadow:0 2px 5px #1f29332e}.circle-radius-row input[type=number]{width:100%;height:34px;border:1px solid #c8c0b2;border-radius:14px;background:#fffdf7;color:#1f2933;padding:0 8px;text-align:center;font-size:16px}.multi-stitch-controls .number-stepper{display:grid;margin-top:0}.multi-stitch-controls .stitch-structure-grid .field-control{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:4px}.multi-color-row,.property-color-control{display:grid;gap:8px}.multi-color-row{grid-template-columns:1fr;grid-column:1 / -1}.property-color-control{grid-template-columns:42px minmax(0,1fr);align-items:center}.property-color-swatches{grid-template-columns:repeat(6,minmax(0,1fr))}.color-control-field{grid-column:1 / -1}.multi-stitch-controls{display:grid;gap:8px}.selection-property-controls{margin-top:2px;padding-top:12px;border-top:1px solid #ddd5c8}.property-panel .stitch-property-appearance,.property-panel .stitch-structure-controls,.property-panel .selection-property-controls{border-top:1px solid transparent;background-image:repeating-linear-gradient(to right,#e7e1d7 0 4px,transparent 4px 8px);background-size:calc(100% - 16px) 1px;background-position:center top;background-origin:border-box;background-repeat:no-repeat}.multi-stitch-controls label,.multi-stitch-controls .field-control{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:8px;color:#5f574f;font-size:12px}.multi-stitch-controls input[type=number]{min-width:0;height:34px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#1f2933;padding:0 8px}.multi-stitch-controls .number-stepper input{width:100%;height:30px;padding:6px;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.multi-stitch-controls .number-stepper input::-webkit-inner-spin-button,.multi-stitch-controls .number-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.selected-title{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center}.selected-title svg{width:58px;height:58px;border:1px solid #d4ccbf;border-radius:8px;background:#fffdf7}.selected-title strong,.selected-title span{display:block}.selected-title span{margin-top:3px;color:#6b6257;font-size:12px}.selected-title-name{display:grid;width:100%;min-width:0;overflow:hidden;align-content:center;justify-items:start;gap:8px}.selected-title-name strong{width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:20px;line-height:1.2}.selected-title-name strong.is-long{font-size:17px}.selected-title-name strong.is-very-long{font-size:14px}.selected-title-editor-button{display:inline-flex;min-height:28px;flex:0 0 auto;align-items:center;gap:5px;border:1px solid #d4ccbf;border-radius:8px;background:#fffdf7;color:#3f4d43;padding:0 8px;font-size:13px}.modal-backdrop.custom-stitch-editor-backdrop{z-index:70}.custom-stitch-editor-backdrop{padding:16px}.custom-stitch-editor-modal{display:grid;grid-template-rows:auto auto minmax(280px,1fr) auto;width:min(980px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));border:1px solid #ded6ca;border-radius:14px;overflow:hidden;background:#fffdf7;box-shadow:0 24px 70px #1f293347}.custom-stitch-editor-header,.custom-stitch-editor-toolbar{display:flex;align-items:center;gap:9px;padding:14px 18px;border-bottom:1px solid #e7e0d5}.custom-stitch-editor-header{justify-content:space-between}.custom-stitch-editor-header h2{margin:0;font-size:20px}.custom-stitch-editor-zoom{border:1px solid #d8d0c3;border-radius:7px;background:#fffdf7;height:38px;padding:0 9px;color:#61764b;font-size:13px;font-weight:700}.custom-stitch-editor-toolbar{flex-wrap:wrap;padding-block:10px;background:#fbf8f1}.custom-stitch-editor-tool-scroll,.custom-stitch-editor-tool-scroll-frame{display:contents}.custom-stitch-editor-scroll-cue{display:none}.custom-stitch-editor-toolbar select,.custom-stitch-editor-toolbar button{min-height:34px;border:1px solid #d8d0c3;border-radius:8px;background:#fffdf7;color:#3f4d43;padding:0 10px}.custom-stitch-editor-toolbar button.icon-only{width:34px;justify-content:center;padding:0}.custom-stitch-editor-toolbar button.is-active{border-color:#8ba16f;background:#edf5e7;color:#436332}.custom-stitch-editor-symbol-picker{position:relative}.custom-stitch-editor-symbol-menu{position:absolute;z-index:2;top:calc(100% + 6px);left:0;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(286px,calc(100vw - 44px));max-height:min(420px,calc(100vh - 190px));gap:4px;border:1px solid #d8d0c3;border-radius:9px;background:#fffdf7;padding:5px;box-shadow:0 12px 28px #3d332729}.custom-stitch-editor-symbol-menu input{width:100%;min-height:32px;padding:0 9px}.custom-stitch-editor-symbol-menu-list{min-height:0;overflow-y:auto;padding-right:2px}.custom-stitch-editor-symbol-menu-list section{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.custom-stitch-editor-symbol-menu-list section+section{margin-top:8px}.custom-stitch-editor-symbol-menu-list strong{grid-column:1 / -1;color:#61764b;font-size:12px;padding:3px 6px 1px}.custom-stitch-editor-symbol-menu-list p{color:#867d70;font-size:12px;margin:8px 6px}.custom-stitch-editor-symbol-menu button{justify-content:flex-start}.custom-stitch-editor-symbol-menu .custom-stitch-editor-symbol-option{display:grid;grid-template-rows:44px 16px;place-items:center;align-content:center;justify-content:center;min-width:0;min-height:65px;gap:2px;padding:4px 2px;color:#37463e;text-align:center}.custom-stitch-editor-symbol-option svg{display:block;width:42px;height:42px;margin:auto;overflow:visible}.custom-stitch-editor-symbol-option span{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;overflow:hidden;color:#5d625a;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.custom-stitch-editor-symbol-option:hover span,.custom-stitch-editor-symbol-option:focus-visible span{color:#2e6a3c}.custom-stitch-editor-zoom-slider{position:absolute;right:0;bottom:46px;width:min(220px,calc(100vw - 104px));accent-color:#61764b}.custom-stitch-editor-toolbar button{display:inline-flex;align-items:center;gap:5px}.custom-stitch-editor-toolbar button:disabled{cursor:not-allowed;opacity:.45}.custom-stitch-editor-rotation-control,.custom-stitch-editor-scale-control{display:inline-flex;align-items:center;gap:6px;color:#3f4d43;font-size:13px;font-weight:700}.custom-stitch-editor-rotation-control{margin-left:3px;border-left:1px dashed #bfb6a8;padding-left:10px}.custom-stitch-editor-rotation-control .number-stepper,.custom-stitch-editor-text-properties .number-stepper,.custom-stitch-editor-scale-control .number-stepper{grid-template-columns:34px 64px 34px 34px;gap:4px}.custom-stitch-editor-rotation-control .number-stepper input,.custom-stitch-editor-text-properties .number-stepper input,.custom-stitch-editor-scale-control .number-stepper input{width:64px;height:34px;border:1px solid #c8c0b2;border-radius:7px;background:#fffdf7;color:#35424d;padding:4px;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.custom-stitch-editor-rotation-control .number-stepper-button,.custom-stitch-editor-rotation-control .number-stepper-reset,.custom-stitch-editor-rotation-control .number-stepper-reset-placeholder,.custom-stitch-editor-scale-control .number-stepper-button,.custom-stitch-editor-scale-control .number-stepper-reset,.custom-stitch-editor-scale-control .number-stepper-reset-placeholder{width:34px;height:34px}.custom-stitch-editor-rotation-control .number-stepper input::-webkit-inner-spin-button,.custom-stitch-editor-rotation-control .number-stepper input::-webkit-outer-spin-button,.custom-stitch-editor-scale-control .number-stepper input::-webkit-inner-spin-button,.custom-stitch-editor-scale-control .number-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-stitch-editor-canvas-wrap{position:relative;min-height:0;padding:16px;background:#f5f1e8}.custom-stitch-editor-text-properties{display:flex;flex:0 0 100%;align-items:center;gap:8px;min-width:0;margin:0;padding:0;border:0;overflow-x:auto}.custom-stitch-editor-text-properties .text-property-editor{flex:1 0 110px;width:160px;min-width:110px;min-height:38px;height:38px;max-height:80px;margin:0}.custom-stitch-editor-text-properties .number-stepper{flex:0 0 auto}.custom-stitch-editor-text-properties>input[type=color]{flex:0 0 34px;width:34px;height:34px;padding:2px}.custom-stitch-editor-canvas{display:block;width:100%;height:100%;min-height:280px;border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.custom-stitch-editor-canvas.is-panning{cursor:grab}.custom-stitch-editor-canvas.is-panning:active{cursor:grabbing}.custom-stitch-editor-canvas.is-pasting,.custom-stitch-editor-canvas.is-pasting *{cursor:copy}.custom-stitch-editor-axis,.custom-stitch-editor-axis-hit{cursor:move}.custom-stitch-editor-point-handle{touch-action:none}.custom-stitch-editor-snap-guide{stroke:#bd568d;stroke-width:1;stroke-dasharray:4 3}.custom-stitch-editor-snap-guide circle{fill:#fffdf7;stroke-dasharray:none}.custom-stitch-editor-snap-hint{position:absolute;left:28px;bottom:28px;z-index:4;padding:5px 9px;border:1px solid #dba9c3;border-radius:6px;background:#fffdf7;color:#a54478;font-size:12px;pointer-events:none}.custom-stitch-editor-snap-shortcut-hint{top:28px;bottom:auto;z-index:4;max-width:calc(100% - 56px);white-space:normal;text-align:center}.custom-stitch-editor-static-symbol,.custom-stitch-editor-static-symbol *{cursor:move}.custom-stitch-editor-static-selection-box{fill:#61764b06;stroke:#61764b;stroke-width:.45;stroke-opacity:.45;stroke-dasharray:1.6 1.4}.custom-stitch-editor-rotate-handle{cursor:grab;touch-action:none}.custom-stitch-editor-rotate-handle:active{cursor:grabbing}.custom-stitch-editor-rotate-knob{fill:#fffdf7;stroke:#61764b;stroke-width:1.5}.custom-stitch-editor-rotate-handle text{fill:#445a38;-webkit-user-select:none;user-select:none}.custom-stitch-editor-canvas .is-selected>path{filter:drop-shadow(0 0 1.2px #839a66)}.custom-stitch-editor-marquee{fill:#63764b1f;stroke:#61764b;stroke-width:.8;stroke-dasharray:2 1.5;pointer-events:none}.custom-stitch-editor-overlay-actions{position:absolute;right:28px;bottom:28px;z-index:4;display:flex;align-items:center;gap:7px}.custom-stitch-editor-layer-trigger{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid #d4ccbf;border-radius:9px;background:#fffdf7;color:#3f4d43;box-shadow:0 5px 14px #3d332724}.custom-stitch-editor-layer-panel{position:absolute;right:28px;bottom:74px;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(310px,calc(100% - 56px));height:min(320px,calc(100% - 90px));border:1px solid #d8d0c3;border-radius:10px;overflow:hidden;background:#fffdf7;box-shadow:0 12px 30px #3d33272e}.custom-stitch-editor-layer-panel header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e0d5;padding:8px 10px}.custom-stitch-editor-layer-list{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:5px;touch-action:pan-y}.custom-stitch-editor-layer-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,28px);align-items:center;gap:3px;border-radius:7px;padding:3px;touch-action:none;user-select:none;-webkit-user-select:none}.custom-stitch-editor-layer-row.is-selected{background:#edf5e7}.custom-stitch-editor-layer-row.is-dragging{opacity:.55}.custom-stitch-editor-layer-row.is-drop-target{box-shadow:inset 0 2px #779763}.custom-stitch-editor-layer-end-drop-zone{position:relative;min-height:28px}.custom-stitch-editor-layer-list.is-drop-at-end .custom-stitch-editor-layer-end-drop-zone:before{content:"";position:absolute;top:9px;right:4px;left:4px;height:3px;border-radius:999px;background:#779763;box-shadow:0 0 0 1px #f8f6f0;pointer-events:none}.custom-stitch-editor-layer-name{overflow:hidden;border:0;background:transparent;color:#35443b;padding:5px 6px;text-align:left;text-overflow:ellipsis;white-space:nowrap;touch-action:none;cursor:grab}.custom-stitch-editor-layer-name:active{cursor:grabbing}.custom-stitch-editor-layer-row .icon-button{display:inline-grid;width:28px;height:28px;place-items:center}.custom-stitch-editor-modal .modal-actions{margin:0;padding:12px 18px;border-top:1px solid #e7e0d5}.custom-stitch-editor-save-feedback{margin:0;padding:8px 18px;color:#815b21;background:#f8f1df;font-size:13px}.custom-stitch-editor-sync-option{display:flex;align-items:center;justify-content:flex-end;flex-basis:100%;gap:6px;margin:0;color:#685f52;font-size:12px;cursor:pointer}.custom-stitch-editor-sync-option input{width:14px;height:14px;margin:0;accent-color:#61764b}.custom-stitch-editor-footer .modal-actions{flex-wrap:wrap}@media (max-width: 720px){.modal-backdrop.custom-stitch-editor-backdrop{padding:0}.custom-stitch-editor-modal{width:100%;height:100%;height:var(--mobile-dialog-height, 100dvh);max-height:var(--mobile-dialog-height, 100dvh);min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;border:0;border-radius:0}.custom-stitch-editor-header,.custom-stitch-editor-toolbar{padding-inline:14px}.custom-stitch-editor-toolbar{gap:6px;padding-block:6px}.custom-stitch-editor-toolbar button{flex:1 1 auto;justify-content:center}.custom-stitch-editor-toolbar button.icon-only{flex:0 0 38px}.custom-stitch-editor-symbol-picker{flex:1 1 auto}.custom-stitch-editor-symbol-picker>button{width:100%}.custom-stitch-editor-title-row{gap:6px}.custom-stitch-editor-header h2{font-size:18px}.custom-stitch-editor-zoom-slider{width:min(135px,34vw)}.custom-stitch-editor-canvas-wrap{padding:10px}.custom-stitch-editor-canvas{min-height:0}.custom-stitch-editor-header{padding-top:max(10px,env(safe-area-inset-top))}.custom-stitch-editor-symbol-menu{max-height:min(360px,calc(var(--mobile-dialog-height, 100dvh) - 140px))}.custom-stitch-editor-symbol-menu input,.custom-stitch-editor-toolbar .number-stepper input{font-size:16px}.custom-stitch-editor-modal .modal-actions button,.custom-stitch-editor-header .icon-button{min-height:44px}.custom-stitch-editor-modal .modal-actions{padding-inline:14px;padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (min-width: 721px) and (max-width: 1180px),(min-width: 721px) and (hover: none) and (pointer: coarse){.modal-backdrop.custom-stitch-editor-backdrop{padding:0;align-items:stretch;justify-content:stretch}.custom-stitch-editor-modal{width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0}}@media (max-width: 720px),(hover: none) and (pointer: coarse),(max-width: 950px) and (max-height: 480px){.modal-backdrop.custom-stitch-editor-backdrop{inset:auto;z-index:70;top:var(--mobile-dialog-top, 0px);left:var(--mobile-dialog-left, 0px);width:var(--mobile-dialog-width, 100vw);height:var(--mobile-dialog-height, 100dvh);padding:0;overflow:hidden;place-items:stretch}.custom-stitch-editor-backdrop .custom-stitch-editor-modal{width:100%;height:100%;max-height:100%;min-height:0;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;border:0;border-radius:0}.custom-stitch-editor-toolbar{flex-wrap:nowrap;min-width:0;gap:8px;padding:6px 10px}.custom-stitch-editor-toolbar .custom-stitch-editor-symbol-picker{flex:0 0 auto}.custom-stitch-editor-tool-scroll-frame{position:relative;display:flex;flex:1 1 0;min-width:0;overflow:hidden}.custom-stitch-editor-tool-scroll{display:flex;align-items:center;gap:6px;flex:1 1 0;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 28px 2px 0}.custom-stitch-editor-tool-scroll::-webkit-scrollbar{display:none}.custom-stitch-editor-scroll-cue{position:absolute;top:0;bottom:0;z-index:2;display:grid;width:34px;min-height:0;place-items:center;border:0;border-radius:0;padding:0;color:#355f8a}.custom-stitch-editor-scroll-cue.is-right{right:0;background:linear-gradient(270deg,#fbf8f1 56%,#fbf8f100);animation:custom-stitch-scroll-cue 1.15s ease-in-out 2}.custom-stitch-editor-tool-scroll-frame.is-at-end .custom-stitch-editor-scroll-cue.is-right{display:none}.custom-stitch-editor-tool-scroll>*{flex:0 0 auto;white-space:nowrap}.custom-stitch-editor-tool-scroll button.icon-only{flex:0 0 38px}.custom-stitch-editor-canvas{min-height:0}.custom-stitch-editor-modal .modal-actions{position:relative;background:#fffdf7;padding-bottom:max(12px,env(safe-area-inset-bottom))}}@keyframes custom-stitch-scroll-cue{50%{transform:translate(3px)}}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.button-row button{min-width:0;padding:0 8px;white-space:nowrap}.button-row button svg{flex:0 0 auto}.alignment-button-row,.property-panel .stitch-property-appearance .mirror-button-row,.property-panel .stitch-property-appearance .button-row.stitch-property-option-row{margin-inline:4px}.alignment-button-row button,.property-panel .stitch-property-appearance .mirror-button-row button,.property-panel .stitch-property-appearance .button-row.stitch-property-option-row button{min-width:0;height:28px;gap:4px;padding:0 6px;font-size:12px;white-space:nowrap}.alignment-button-row button svg,.property-panel .stitch-property-appearance .mirror-button-row button svg,.property-panel .stitch-property-appearance .button-row.stitch-property-option-row button svg{width:14px;height:14px;flex:0 0 auto}.button-row button.active{border-color:#71875d;background:#edf4e4;color:#315a2c}.mirror-placement-preview{opacity:.75}.button-row .danger{border-color:#d59b8f;color:#a73522}.stats-list{display:grid;gap:7px;margin-bottom:12px}.stats-list div{display:flex;align-items:center;justify-content:space-between;border:1px solid #d6cec1;border-radius:8px;background:#fffdf7;padding:8px 10px;font-size:13px}.stats-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#1f293361;padding:20px}.member-login-modal{display:grid;width:min(440px,calc(100vw - 32px));gap:14px;border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;padding:16px;box-shadow:0 24px 60px #1f29333d}.layer-group-name-modal{display:grid;width:min(360px,calc(100vw - 32px));gap:14px;border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;padding:16px;box-shadow:0 24px 60px #1f29333d}.layer-group-name-modal label{display:grid;gap:6px;color:#4c463f;font-weight:700}.layer-group-name-modal input{min-width:0;height:40px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.vip-recharge-modal{display:grid;width:min(520px,calc(100vw - 32px));gap:14px;border:1px solid #ded6ca;border-radius:10px;background:#fffdf7;padding:16px;box-shadow:0 24px 60px #1f29333d}.vip-pay-section{display:grid;grid-template-columns:168px 1fr;gap:14px;align-items:center;border:1px solid #ded6ca;border-radius:8px;background:#f8f4ec;padding:12px}.vip-pay-code{display:grid;place-items:center;width:min(148px,100%);justify-self:center;border:1px solid #d6cec1;border-radius:8px;background:#fffdf7;color:#7b7165;padding:10px;text-align:center}.vip-pay-code img{width:100%;height:auto;max-height:200px;display:block;object-fit:contain}.vip-pay-section p{margin:6px 0 0;color:#5f574f}.modal-backdrop.export-style-backdrop{background:#1f293359}.modal-backdrop.custom-stitch-editor-login-backdrop{z-index:90}.export-style-modal.member-login-modal,.export-style-modal.vip-recharge-modal{display:block;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;overscroll-behavior:contain;font-size:14px;box-shadow:0 16px 40px #1f29332e}.export-style-modal .export-style-header{align-items:center;padding:12px 16px;border-bottom:1px solid #e8e1d5}.export-style-modal .export-style-header h2{margin:0;font-size:17px}.support-dialog-header h2{flex:1}.export-style-modal .export-style-header .icon-button{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border-color:#ded6ca;border-radius:6px}.export-style-modal .export-style-header .icon-button:hover{border-color:#ded6ca;background:#f0ece3}.export-style-modal :focus-visible{outline:2px solid #678653;outline-offset:3px}.export-style-body{display:grid;gap:14px;padding:16px}.export-style-intro{margin:0;color:#6b6258;font-size:13px;line-height:1.5}.export-style-modal.member-login-modal input:not([type=checkbox]){min-height:38px;border-color:#ded6ca;border-radius:6px}.export-style-modal .member-code-row button,.export-style-modal .member-login-submit{min-height:38px;border-color:#a9bb97;border-radius:6px;background:#edf4e4;color:#315a2c;font-size:14px;font-weight:600}@media (max-width: 480px){.export-style-modal .export-style-header .icon-button{width:44px;height:44px}.export-style-modal.member-login-modal input:not([type=checkbox]),.export-style-modal .member-code-row button,.export-style-modal .member-login-submit{min-height:44px}}.member-login-modal label{display:grid;gap:6px;color:#4c463f;font-weight:700}.member-login-methods{display:flex;gap:3px;padding:3px;background:#f2eee6;border-radius:8px}.member-login-methods button{flex:1;min-height:28px;border:1px solid transparent;border-radius:6px;background:transparent;color:#766f67;padding:0 10px;font-size:12px}.member-login-methods button[aria-pressed=true]{background:#fffdf7;color:#315a2c;border-color:#ded6ca;font-weight:600}@media (pointer: coarse),(max-width: 600px){.member-login-methods button{min-height:36px}}.member-login-modal input{min-width:0;height:40px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.member-login-modal .member-agreement-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:400;line-height:1.55}.member-agreement-check input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;padding:0}.member-agreement-check a{color:#3d5a80;text-decoration:none}.member-agreement-check a:hover{text-decoration:underline}.member-delete-warning{margin:0;border:1px solid #e0ada4;border-radius:8px;background:#fff1ee;color:#8e2f20;padding:10px 12px;font-size:13px;line-height:1.6}.project-import-warning{margin:0;border:0;border-radius:10px;background:#f6f3ec;color:#5f5132;padding:9px 12px;font-size:13px;line-height:1.55}.project-import-modal{width:min(380px,calc(100vw - 32px));gap:10px;padding:18px 20px 20px}.project-import-modal .symbol-manager-header{align-items:center}.project-import-modal .symbol-manager-header h2{margin:0;font-size:17px;letter-spacing:.01em}.project-import-close{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#6b6258}.project-import-close:hover{background:#f1ede5}.project-import-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-import-actions .member-login-submit{grid-column:1 / -1}.project-import-modal .project-import-actions .member-login-submit{grid-column:auto}.project-import-modal .project-import-actions>:only-child{grid-column:1 / -1}.project-import-actions button{min-height:44px}.project-import-modal .project-import-actions .member-login-submit,.project-import-modal .project-import-continue{border-radius:10px;font-size:14px}.project-import-continue{display:grid;place-content:center;gap:1px;border:1px solid #d8d0c3;background:#fffdf7;color:#4d574b;font-weight:700;line-height:1.15}.project-import-continue small{color:#8b8174;font-size:10px;font-weight:500}.member-login-submit.member-delete-submit{border-color:#d59b8f;background:#fff1ee;color:#a73522}.member-code-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.member-code-row button,.member-login-submit{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid #b8caa8;border-radius:8px;background:#e9f0df;color:#263238;padding:0 14px;font-weight:700}.member-phone-change-submit:disabled{border-color:#ded9cf;background:#eeece7;color:#969187;opacity:1}.member-dev-code,.member-status-text{margin:0;border-radius:8px;padding:8px 10px;font-size:13px}.legal-dialog{width:min(760px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:hidden;border:1px solid #ded6ca;border-radius:14px;background:#fffdf7;color:#26333d;box-shadow:0 24px 72px #1f29333d}.legal-dialog[open]{display:flex;flex-direction:column}.legal-dialog::backdrop{background:#1f293347;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.legal-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #e5ded2}.legal-dialog-header h2{margin:0;font-size:20px}.legal-dialog-header button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;color:inherit;cursor:pointer}.legal-dialog-header button:hover{background:#f3f0e8}.legal-dialog-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}.legal-dialog .legal-document{width:100%;padding:20px clamp(18px,4vw,36px) 32px;border:0;border-radius:0;box-shadow:none}.legal-dialog .legal-document>h1{display:none}.legal-page{width:100%;height:100%;overflow-y:auto;background:#f3f0e8;padding:32px 20px 64px}.legal-document{width:min(880px,100%);margin:0 auto;border:1px solid #ded6ca;border-radius:12px;background:#fffdf7;padding:32px clamp(20px,5vw,54px);box-shadow:0 16px 40px #1f293314}.legal-back-link{color:#3d5a80;text-decoration:none}.legal-document h1{margin:18px 0 6px;font-size:30px}.legal-effective-date{margin:0 0 28px;color:#7b7165;font-size:13px}.legal-document section{margin-top:26px}.legal-document h2{margin:0 0 10px;font-size:18px}.legal-document p{margin:8px 0 0;color:#4c463f;line-height:1.8;white-space:pre-line}.member-dev-code{border:1px solid #caa23e;background:#fff7df;color:#8a5e10}.member-status-text{background:#f4efe6;color:#5f574f}.confirm-modal{width:min(420px,100%);border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:20px;box-shadow:0 24px 70px #1f29333d}.confirm-modal h2{margin:0 0 10px;font-size:20px}.confirm-modal p{margin:0;color:#5f574f;line-height:1.55}.modal-backdrop.local-draft-backdrop{place-items:center;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.confirm-modal.local-draft-modal{display:flex;flex-direction:column;width:min(1040px,100%);min-width:0;max-height:min(800px,85dvh,100%);overflow:hidden;border-radius:8px;overflow-wrap:anywhere}.confirm-modal.local-draft-modal.is-editing{width:min(440px,100%);overflow-y:auto}.local-draft-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.local-draft-header>div{min-width:0}.local-draft-header h2{margin-bottom:6px}.local-draft-header p{font-size:13px}.local-draft-header .icon-button{flex-shrink:0}.local-draft-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:12px;min-height:0;margin:0;padding:2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;list-style:none}.local-draft-list-row{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:1px solid #d8d0c3;border-radius:8px;background:#fffdf7}.local-draft-list-row:hover{background:#f8f5ee}.local-draft-list-row.selected{border-color:#7e9db5;background:#e9eef1;box-shadow:inset 0 0 0 1px #7e9db5}.local-draft-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border-radius:7px;background:transparent}.local-draft-select:focus-visible,.local-draft-icon-button:focus-visible{outline:2px solid #3d5a80;outline-offset:-2px}.local-draft-preview{position:relative;pointer-events:none}.local-draft-thumbnail{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:100%;aspect-ratio:8 / 5;overflow:hidden;border:1px solid #e1dbcf;border-radius:4px;background:#f8f5ee;color:#82786a;font-size:12px}.local-draft-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.local-draft-details{position:relative;display:grid;gap:4px;min-width:0;line-height:1.45;pointer-events:none}.local-draft-title{display:flex;align-items:center;gap:2px;min-width:0}.local-draft-title strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;color:#1f2933}.local-draft-inline-name{width:100%;min-width:0;padding:2px 4px;border:1px solid #3d5a80;border-radius:4px;background:#fffdf7;color:#1f2933;font:inherit;font-size:14px;pointer-events:auto}.local-draft-inline-name:focus{outline:1px solid #3d5a80}.local-draft-rename-error{color:#a73522;font-size:12px}.local-draft-current{position:absolute;bottom:6px;left:6px;padding:2px 6px;border-radius:4px;background:#dce5ec;color:#3d5a80;font-size:11px;white-space:nowrap}.local-draft-time,.local-draft-count{color:#7a7165;font-size:12px}.local-draft-time{white-space:normal;font-variant-numeric:tabular-nums}.local-draft-icon-button{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;padding:0;background:transparent;color:#263238;pointer-events:auto}.local-draft-icon-button:hover:not(:disabled){background:#f2eee5}.local-draft-check{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;pointer-events:auto;cursor:pointer}.local-draft-check input{width:16px;height:16px;margin:0;accent-color:#3d5a80;cursor:inherit}.local-draft-check:has(input:disabled){cursor:default}.local-draft-list-row.checked{border-color:#3d5a80;background:#e9eff3}.local-draft-list-row.menu-open{z-index:2}.local-draft-more{position:absolute;right:2px;bottom:2px;pointer-events:auto}.local-draft-more-trigger{opacity:0}.local-draft-list-row:hover .local-draft-more-trigger,.local-draft-list-row:focus-within .local-draft-more-trigger{opacity:1}.local-draft-menu{position:absolute;z-index:3;top:100%;right:0;min-width:112px;padding:4px;border:1px solid #d8d0c3;border-radius:6px;background:#fffdf7;box-shadow:0 4px 14px #26323820}.local-draft-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 10px;border-radius:4px;background:transparent;text-align:left;white-space:nowrap}.local-draft-menu button:hover:not(:disabled){background:#f2eee5}.local-draft-menu button:focus-visible{outline:2px solid #3d5a80;outline-offset:-2px}.local-draft-menu-delete{color:#a73522}.local-draft-batch-actions{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:#7a7165;font-size:12px;border-bottom:1px solid #e7e1d7}.local-draft-batch-actions button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid #decac1;border-radius:6px;background:#fffdf7;color:#a73522}.local-draft-batch-actions button:hover{background:#faf0eb}.local-draft-batch-buttons{display:flex;align-items:center;gap:8px}.local-draft-batch-actions .local-draft-exit-selection,.local-draft-batch-actions .local-draft-select-all{border-color:#d8d0c3;color:#263238}.local-draft-batch-actions .local-draft-exit-selection:hover,.local-draft-batch-actions .local-draft-select-all:hover:not(:disabled){background:#f2eee5}.local-draft-page-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.local-draft-page-size{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.local-draft-page-size .layer-group-target-trigger{min-width:64px;min-height:32px;border:1px solid #c8c0b2;border-radius:6px;background:#fffdf7;color:#263238;font:inherit}.local-draft-page-size .layer-group-target-trigger:focus-visible{outline:2px solid #3d5a80;outline-offset:2px}.local-draft-page-size .layer-group-target-options{top:auto;bottom:calc(100% + 4px);min-width:96px}.local-draft-page-size .layer-group-target-options button{min-height:32px;padding:6px 10px;border-radius:4px;color:#263238;font:inherit}.local-draft-pagination{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e7e1d7;color:#7a7165;font-size:12px}.local-draft-page-controls{display:flex;align-items:center;gap:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.local-draft-page-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #c8c0b2;border-radius:6px;background:#fffdf7;color:#263238}.local-draft-page-controls button:hover:not(:disabled){background:#f2eee5}.local-draft-page-controls button:focus-visible{outline:2px solid #3d5a80;outline-offset:2px}.local-draft-modal>.modal-actions,.local-draft-modal>.local-draft-note{flex-shrink:0}@media (max-width: 1000px){.local-draft-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 800px){.local-draft-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (pointer: coarse),(max-width: 1000px){.local-draft-icon-button,.local-draft-check{width:44px;height:44px}.local-draft-more-trigger{opacity:1}.local-draft-menu button,.local-draft-batch-actions button,.local-draft-page-size .layer-group-target-trigger,.local-draft-page-size .layer-group-target-options button{min-height:44px}}@media (max-width: 700px){.confirm-modal.local-draft-modal{padding:16px}.local-draft-header{gap:10px;margin-bottom:12px}.local-draft-list{gap:10px}.local-draft-list-row{gap:6px;padding:8px}.local-draft-title strong{font-size:13px}.local-draft-time{font-size:11px}.local-draft-current{font-size:10px;padding:1px 4px}.local-draft-pagination{gap:8px;font-size:11px}.local-draft-page-summary{gap:4px 8px}.local-draft-batch-actions{flex-wrap:wrap}.local-draft-batch-buttons{margin-left:auto}.local-draft-page-controls{gap:6px}.local-draft-page-controls button{height:40px;min-width:40px;padding:0 4px}.local-draft-modal .modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.confirm-modal.local-draft-modal .modal-actions button{min-height:48px;height:auto;padding:10px 8px}}@media (max-width: 600px){.local-draft-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 360px){.local-draft-modal .modal-actions{grid-template-columns:1fr}}.confirm-modal .local-draft-note{margin-top:10px;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button{display:inline-flex;height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:0 14px;color:#263238}.modal-actions button.primary{border-color:#b8caa8;background:#edf5e7;font-weight:700}.symbol-manager-modal{display:grid;width:min(1120px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));grid-template-rows:auto auto auto minmax(0,1fr);gap:16px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:18px;box-shadow:0 24px 70px #1f29333d}.category-manager-modal{display:grid;width:min(640px,100%);max-height:min(720px,calc(100vh - 40px));grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:18px;box-shadow:0 24px 70px #1f29333d}.category-manager-create{grid-template-columns:minmax(0,1fr) 42px}.category-manager-type-tabs button{min-height:44px}.managed-category-list{display:grid;align-content:start;gap:8px;overflow:auto}.managed-category-row{display:grid;grid-template-columns:minmax(0,1fr) 54px auto auto;align-items:center;gap:8px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;padding:8px}.managed-category-row.is-hidden{opacity:.62}.managed-category-row input{min-width:0;height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 9px}.managed-category-row span{color:#7b7165;font-size:12px;text-align:center}.managed-category-row button{display:inline-flex;height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.managed-category-row .danger{border-color:#d59b8f;color:#a73522}.symbol-manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.symbol-manager-header h2{margin:0 0 5px;font-size:20px}.symbol-manager-header p{margin:0;color:#6b6258;font-size:13px}.symbol-manager-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.symbol-import-disclosure{min-width:0}.symbol-import-disclosure summary{display:flex;min-height:36px;align-items:center;gap:6px;border:1px solid #ded6ca;border-radius:8px;background:#f8f6f0;color:#514c43;padding:0 10px;font-size:13px;cursor:pointer;list-style:none}.symbol-import-disclosure summary::-webkit-details-marker{display:none}.symbol-import-disclosure summary svg:last-child{margin-left:auto}.symbol-import-disclosure[open] summary svg:last-child{transform:rotate(180deg)}.symbol-import-disclosure .symbol-import-panel{margin-top:8px}.admin-status{display:inline-flex;min-height:30px;align-items:center;justify-content:center;border:1px solid #ded6ca;border-radius:999px;background:#f8f4ec;color:#6b6258;font-size:12px;font-weight:700;padding:0 10px;white-space:nowrap}.admin-status.is-active{border-color:#afc79a;background:#edf4e4;color:#3f612c}.symbol-import-panel{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(160px,220px) auto 54px;align-items:center;gap:8px;border:1px solid #ded6ca;border-radius:8px;background:#f8f4ec;padding:10px}.symbol-import-panel input,.symbol-import-panel select,.symbol-manager-search input,.managed-symbol-row input,.managed-symbol-row select{min-width:0;height:36px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 9px}.symbol-import-panel button,.managed-symbol-row button{display:inline-flex;height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;padding:0 10px}.symbol-import-panel button:disabled{opacity:.45}.managed-symbol-row button:disabled{cursor:not-allowed;opacity:.42}.symbol-import-preview{width:42px;height:42px}.symbol-manager-search{display:flex;align-items:center;gap:8px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;padding:0 10px}.symbol-manager-search input{flex:1;border:0;background:transparent}.managed-symbol-list{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 6px 0}.managed-symbol-details,.managed-symbol-row-actions{display:contents}.managed-symbol-header-row,.managed-symbol-row{position:relative;display:grid;grid-template-columns:38px 64px minmax(150px,1fr) 78px minmax(140px,200px) 68px 74px 112px 76px;align-items:center;gap:8px}.managed-symbol-mobile-label{display:none}.managed-symbol-header-row{position:sticky;top:0;z-index:1;border:1px solid #ded6ca;border-radius:8px;background:#f4efe6;color:#6b6258;font-size:12px;font-weight:700;padding:8px 10px}.managed-symbol-row{border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;min-height:72px;padding:8px 10px;transition:border-color .16s ease,background .16s ease,opacity .16s ease}.managed-symbol-row.is-hidden{opacity:.62}.managed-symbol-row.is-dragging{opacity:.46}.managed-symbol-row.is-drop-before:before,.managed-symbol-row.is-drop-after:after{position:absolute;z-index:2;right:0;left:0;height:3px;border-radius:2px;background:#3d5a80;pointer-events:none;content:""}.managed-symbol-row.is-drop-before:before{top:-5px}.managed-symbol-row.is-drop-after:after{bottom:-5px}.symbol-manager-modal.is-sorting,.symbol-manager-modal.is-sorting *{user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none}.managed-symbol-preview{width:54px;height:54px}.managed-symbol-name-control{display:flex;min-width:0;gap:6px}.managed-symbol-name-control .managed-symbol-name{flex:1;width:0}.managed-symbol-name-control .managed-symbol-edit{flex:0 0 36px;padding:0}.managed-symbol-row span{color:#7b7165;font-size:12px;text-align:center}.symbol-drag-handle{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;width:34px;padding:0;cursor:grab;color:#53616d}.symbol-drag-handle:active{cursor:grabbing}.symbol-source-badge{display:inline-flex;min-height:28px;align-items:center;justify-content:center;border:1px solid #ded6ca;border-radius:999px;background:#f8f4ec;color:#6b6258;font-size:12px}.symbol-source-badge.is-custom{border-color:#afc79a;background:#edf4e4;color:#3f612c}.symbol-secondary-action,.symbol-permanent-delete{width:100%;padding:0}.symbol-row-placeholder{min-height:1px}.managed-symbol-row .danger{border-color:#d59b8f;color:#a73522}.modal-actions button.danger{border-color:#d59b8f;background:#fff1ee;color:#a73522}@media (max-width: 1180px){.app-shell{--left-panel-width: 264px;--right-panel-width: 0px;--responsive-right-panel-width: min(292px, calc(100vw - 48px) );grid-template-columns:var(--left-panel-width) minmax(420px,1fr)}.app-shell.left-collapsed,.app-shell.left-collapsed.right-collapsed{--left-panel-width: 0px}.app-shell.right-collapsed{--right-panel-width: 0px}.right-side-toggle{position:fixed;right:calc(var(--responsive-right-panel-width) - 1px)}.app-shell.right-collapsed .right-side-toggle{right:0}.property-panel{position:fixed;top:0;right:0;bottom:0;z-index:14;display:flex;width:var(--responsive-right-panel-width);box-shadow:-8px 0 22px #1f29331f}.app-shell.right-collapsed .property-panel{display:none}.topbar{overflow-x:auto}.app-shell:not(.right-collapsed) .topbar-scroll-cue{right:var(--responsive-right-panel-width)}.admin-legal-workspace{grid-template-columns:1fr}.admin-legal-preview-panel{position:static;max-height:760px}}@media (min-width: 601px) and (max-width: 1180px){.app-shell:not(.right-collapsed) .canvas-status{right:calc(var(--responsive-right-panel-width) + 14px)}}@media (max-width: 820px),(hover: none) and (pointer: coarse){html,body,#root{overflow:hidden}.app-shell.phone-touch-layout .topbar{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.app-shell.phone-touch-layout .topbar::-webkit-scrollbar{display:none}.admin-shell{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.admin-sidebar{display:block;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid #d8d0c3;padding:8px;overscroll-behavior-x:contain}.admin-brand{margin-bottom:2px}.admin-brand strong{font-size:17px}.admin-brand span{font-size:12px}.admin-sidebar button,.admin-sidebar a{min-height:36px;justify-content:center;padding:0 9px;white-space:nowrap}.admin-sidebar a{margin-top:0}.admin-nav{width:max-content;min-width:100%;flex-direction:row;align-items:center;margin-top:8px}.admin-nav-group,.admin-nav-children{display:flex;gap:6px}.admin-nav-label{display:none}.admin-nav-children{border-left:0;margin-left:0;padding-left:0}.admin-nav-children button{gap:8px}.admin-main{min-height:0;gap:10px;overflow:auto;padding:10px}.admin-topbar{align-items:flex-start;padding:12px}.admin-topbar h1{font-size:21px}.admin-topbar button{flex:0 0 auto}.admin-login-card,.admin-panel{gap:10px;border-radius:8px;padding:12px}.admin-panel-title{display:grid;align-items:start;gap:4px}.admin-create-bar,.admin-library-transfer-bar,.admin-provenance-filters,.admin-member-filters{grid-template-columns:1fr;gap:8px}.admin-member-status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-member-pagination{display:grid;grid-template-columns:1fr;justify-items:stretch}.admin-member-pagination>span{margin-right:0;text-align:center}.admin-member-pagination label{justify-content:space-between}.admin-member-pagination>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-analytics-cards{grid-template-columns:minmax(0,1fr)}.admin-analytics-group-metrics button{padding-inline:6px}.admin-analytics-timeline span{font-size:9px}.admin-import-preview{justify-self:center}.admin-category-table,.admin-symbol-table,.admin-member-table{overflow:visible}.admin-symbol-head,.admin-member-head,.admin-member-symbol-head{display:none}.admin-provenance-filters .admin-symbol-sort-mobile{display:grid}.admin-category-row,.admin-symbol-row,.admin-member-row,.admin-member-category-row,.admin-member-symbol-row{grid-template-columns:1fr;align-items:stretch;gap:8px;padding:10px}.admin-category-row{grid-template-columns:34px minmax(0,1fr)}.admin-category-row>span,.admin-category-row>button{grid-column:1 / -1}.admin-symbol-row{grid-template-columns:34px 56px minmax(0,1fr)}.admin-symbol-row svg{width:50px;height:50px}.admin-symbol-row input,.admin-symbol-row select,.admin-provenance-tags,.admin-state-tags,.admin-row-actions{grid-column:1 / -1}.admin-member-row{grid-template-columns:1fr}.admin-member-row button,.admin-member-row select,.admin-member-row input,.admin-member-meta,.admin-member-online,.admin-user-type,.admin-member-library-unavailable{width:100%}.admin-row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-category-table button,.admin-symbol-table button,.admin-library-transfer-bar button,.admin-member-table button,.admin-member-category-row button,.admin-member-symbol-row button{width:100%;min-height:38px}.admin-drag-handle{width:32px;min-height:32px}.admin-settings-panel{max-width:none}.admin-update-notice-time-row{grid-template-columns:1fr}.admin-legal-header{align-items:stretch;flex-direction:column}.admin-legal-header-actions{display:grid;grid-template-columns:1fr 1fr}.admin-legal-meta{grid-template-columns:1fr}.admin-legal-meta>span{padding-bottom:0}.admin-legal-section-card-head{align-items:stretch;flex-direction:column}.admin-legal-section-card-head>div{display:grid;grid-template-columns:repeat(3,1fr)}.admin-legal-preview-scroll{padding:8px}.admin-legal-preview-scroll .legal-document-preview{padding:20px 16px}.admin-account-form button{width:100%;justify-self:stretch}.admin-recharge-form .field-grid.two{grid-template-columns:1fr}.admin-recharge-qr-row{display:grid;grid-template-columns:1fr}.admin-recharge-qr-row img{justify-self:center}.admin-member-library-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);gap:12px;padding:12px}.admin-member-category-row,.admin-member-symbol-row{grid-template-columns:1fr}.admin-member-symbol-row svg{justify-self:center}.app-shell{--left-panel-width: 0px;--right-panel-width: 0px;--mobile-panel-width: min(286px, calc(100vw - 44px) );--mobile-right-panel-width: min(292px, calc(100vw - 44px) );position:fixed;top:0;right:0;bottom:0;left:0;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);height:100vh;height:100dvh;height:var(--mobile-viewport-height, 100dvh);min-height:0;max-width:100%;overflow:hidden}.app-shell.left-collapsed,.app-shell.right-collapsed,.app-shell.left-collapsed.right-collapsed{grid-template-columns:1fr}.side-toggle{position:fixed;width:20px;height:44px;z-index:45}.left-side-toggle{top:50%;left:calc(var(--mobile-panel-width) - 1px);right:auto;border-radius:0 8px 8px 0}.app-shell.left-collapsed .left-side-toggle{left:0}.right-side-toggle{top:50%;right:calc(var(--mobile-right-panel-width) - 1px);bottom:auto;border-radius:8px 0 0 8px}.app-shell.right-collapsed .right-side-toggle{right:0}.workspace{grid-row:1;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.topbar{gap:6px;position:relative;z-index:1;min-height:54px;justify-content:flex-end;padding:8px;overflow:hidden}.topbar>.toolbar{display:none}.app-shell.phone-touch-layout .topbar>.toolbar{display:contents}.app-shell.phone-touch-layout .topbar>.toolbar:first-of-type>button,.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button{display:none}.app-shell.phone-touch-layout .topbar>.toolbar:first-of-type>button:nth-child(5),.app-shell.phone-touch-layout .topbar>.toolbar:first-of-type>button:nth-child(6),.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(1),.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(2),.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(3),.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(4){display:inline-flex}.app-shell.phone-touch-layout .topbar>.toolbar:first-of-type>button:nth-child(5){order:6}.app-shell.phone-touch-layout .topbar>.toolbar:first-of-type>button:nth-child(6){order:7}.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(1){order:8}.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(2){order:9}.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(3){order:10}.app-shell.phone-touch-layout .topbar>.toolbar:nth-of-type(2)>button:nth-child(4){order:11}.app-shell:not(.phone-touch-layout) .topbar{justify-content:flex-start;overflow-x:auto}.app-shell:not(.phone-touch-layout) .topbar>.toolbar{display:inline-flex}.app-shell input:not([type=checkbox]):not([type=range]):not([type=color]),.app-shell textarea,.app-shell select{font-size:16px}.file-menu-trigger{display:inline-flex;order:-1;min-width:72px;height:44px;align-items:center;justify-content:center;gap:6px;border:1px solid #8fac77;border-radius:10px;background:#f0f6e9;color:#2f5d37;font-size:12px;font-weight:700}.app-shell.phone-touch-layout .file-menu-group{display:contents}.app-shell.phone-touch-layout .file-menu-trigger{margin-right:0}.app-shell.phone-touch-layout .mobile-top-save-symbol-button{display:inline-flex;order:5;height:44px;min-width:max-content;align-items:center;justify-content:center;gap:4px;border:1px solid #8fac77;border-radius:9px;background:#f0f6e9;color:#2f5d37;padding:0 8px;font-size:12px;font-weight:700;white-space:nowrap}.app-shell.phone-touch-layout .mobile-top-panel-trigger{display:inline-flex;order:3;height:44px;min-width:max-content;align-items:center;justify-content:center;gap:4px;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#35424d;padding:0 8px;font-size:12px;font-weight:700;white-space:nowrap}.app-shell.phone-touch-layout .topbar button,.app-shell.phone-touch-layout .topbar .member-badge{font-size:12px;font-weight:400}.app-shell.phone-touch-layout .mobile-top-panel-trigger+.mobile-top-panel-trigger{order:4}.app-shell.phone-touch-layout .mobile-top-panel-trigger.active{border-color:#71875d;background:#edf4e4;color:#315a2c}.app-shell.phone-touch-layout .topbar.is-mobile-panel-open>:not(.mobile-top-compact-panel){display:none!important}.app-shell.phone-touch-layout .mobile-top-compact-panel{display:inline-flex;width:100%;min-width:max-content;min-height:38px;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.app-shell.phone-touch-layout .mobile-top-compact-panel::-webkit-scrollbar{display:none}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-canvas{display:grid;min-width:0;overflow:visible}.mobile-top-canvas-actions{display:flex;min-width:0;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mobile-top-canvas-actions::-webkit-scrollbar{display:none}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange{display:grid;width:100%;min-width:0;min-height:72px;align-content:center;gap:5px;overflow:visible}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-types,.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-group{display:flex;width:100%;min-width:0;justify-content:center;overflow-x:auto;scrollbar-width:none}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-types::-webkit-scrollbar,.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-group::-webkit-scrollbar{display:none}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-types button{flex:1 1 0;max-width:126px}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-types .mobile-top-arrange-back{flex:0 0 auto;max-width:none}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-group{gap:10px}.mobile-top-compact-title,.mobile-top-panel-group,.mobile-top-arrange-types button{display:inline-flex;height:44px;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#35424d;padding:0 8px;font-size:12px;font-weight:700;white-space:nowrap}.mobile-top-compact-title{border-color:#71875d;background:#edf4e4;color:#315a2c}.mobile-top-panel-group,.mobile-top-arrange-group,.mobile-top-arrange-types{display:inline-flex;flex:0 0 auto;gap:4px}.mobile-top-panel-group{height:50px;padding:3px;border:0;border-radius:11px;background:#f1ede5}.mobile-top-panel-group button{display:inline-flex;height:44px;align-items:center;gap:4px;box-sizing:border-box;border:1px solid transparent;border-radius:8px;background:transparent;color:#5f574f;padding:0 7px}.mobile-top-panel-group button.active,.mobile-top-arrange-types button.active{border-color:#71875d;background:#edf4e4;color:#315a2c}.mobile-top-number-field{display:inline-flex;height:44px;flex:0 0 auto;align-items:center;gap:4px;color:#5f574f;font-size:12px;white-space:nowrap}.mobile-top-number-field input{width:52px;height:44px;box-sizing:border-box;border:1px solid #c8c0b2;border-radius:9px;background:#fffdf7;color:#263238;padding:0 6px}.mobile-top-arrange-group .quick-arrange-stepper{width:126px}.mobile-top-arrange-group .quick-arrange-stepper input{width:100%}.mobile-top-arrange-confirm{width:auto;min-width:48px;flex:0 0 auto;font-size:13px;font-weight:400}.mobile-top-canvas-icon-button{width:44px;padding:0;border-color:#c8c0b2;background:#fffdf7}.mobile-top-canvas-icon-button.active{border-color:#71875d;background:#edf4e4}.mobile-top-compact-panel .canvas-background-controls{margin-top:0}.mobile-top-compact-panel .property-color-control input,.mobile-top-compact-panel .property-color-swatches button{height:44px}.mobile-top-arrange-hint{flex:0 0 auto;color:#55704d;font-size:12px;white-space:nowrap}.toolbar{flex:0 0 auto;gap:4px;padding-right:6px}.file-menu-group{padding-right:6px}.toolbar button{width:44px;min-width:44px;height:44px}.member-toolbar{flex:0 0 auto;margin-left:0}.app-shell.phone-touch-layout .member-toolbar{display:contents}.app-shell.phone-touch-layout .member-toolbar>*{order:2}.member-toolbar button,.member-badge{min-height:44px;padding:0 8px}.canvas-wrap{min-height:0}.symbol-panel{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--mobile-panel-width);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-right:1px solid #cfc7b8;border-bottom:0;box-shadow:12px 0 28px #1f29332e}.app-shell.left-collapsed .symbol-panel{display:none}.custom-category-list{grid-template-columns:repeat(3,minmax(0,1fr))}.symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:98px}.symbol-card{height:98px;min-height:98px;grid-template-rows:62px auto}.symbol-card svg{width:54px;height:54px}.property-panel{position:fixed;inset:0 0 0 auto;z-index:40;display:flex;width:var(--mobile-right-panel-width);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;box-shadow:-12px 0 28px #1f29332e}.app-shell.right-collapsed .property-panel{display:none}.canvas-status{right:8px;bottom:8px;z-index:69;max-width:calc(100vw - 16px);flex-wrap:wrap;justify-content:flex-end}.app-shell:not(.phone-touch-layout) .canvas-status{z-index:44}.app-shell.phone-touch-layout .canvas-status{position:fixed;bottom:calc(var(--mobile-property-bar-height, 0px) + 8px)}.canvas-status>span,.canvas-status-pill,.canvas-stitch-type-switch,.canvas-zoom-pill,.canvas-zoom-slider{padding:6px 8px;font-size:12px}.canvas-zoom-slider{width:min(160px,44vw);padding:5px 8px}.member-dropdown{right:8px!important;left:auto!important;width:min(280px,calc(100vw - 16px))}.modal-backdrop{inset:auto;top:var(--mobile-dialog-top, 0px);left:var(--mobile-dialog-left, 0px);width:var(--mobile-dialog-width, 100%);height:100vh;height:var(--mobile-dialog-height, 100dvh);z-index:60;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));place-items:start center}.mobile-file-actions-backdrop{inset:auto;top:var(--mobile-dialog-top, 0px);left:var(--mobile-dialog-left, 0px);width:var(--mobile-dialog-width, 100vw);height:var(--mobile-dialog-height, 100dvh);align-items:flex-start;overflow:hidden;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.mobile-file-actions-sheet{width:100%;max-height:100%;overflow:auto}.modal-backdrop.symbol-manager-backdrop,.modal-backdrop.category-manager-backdrop{z-index:140}.member-login-modal,.layer-group-name-modal,.vip-recharge-modal,.confirm-modal,.symbol-manager-modal,.category-manager-modal,.reference-crop-modal,.mobile-reference-image-settings{width:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.confirm-modal .modal-actions{flex-wrap:wrap}.confirm-modal .modal-actions button{flex:1 1 130px;min-width:0;height:auto;min-height:44px;padding:8px 10px}.reference-crop-modal,.mobile-reference-image-settings{width:100%;padding:14px}.reference-crop-preview{max-height:min(44dvh,420px)}.reference-crop-values{align-items:flex-start;flex-direction:column}.vip-pay-section,.member-code-row,.symbol-import-panel{grid-template-columns:1fr}.vip-pay-code{width:min(140px,44vw);padding:8px}.managed-symbol-list{display:flex;flex-direction:column;gap:10px;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:0}.symbol-manager-modal{gap:10px;padding:12px}.symbol-manager-search input,.symbol-import-disclosure summary{min-height:44px}.managed-symbol-header-row{display:none}.managed-symbol-row{flex:none;min-width:0;grid-template-columns:44px 56px repeat(2,minmax(0,1fr));grid-template-areas:"drag preview name name" "drag preview source source" "type-label type-select type-select type-select" "category-label category-select category-select category-select" "visibility visibility delete delete";gap:8px;padding:10px}.managed-symbol-row.is-hidden{opacity:1;background:#f8f6f0}.managed-symbol-row .symbol-drag-handle{grid-area:drag;width:44px;height:44px}.managed-symbol-row .managed-symbol-preview{grid-area:preview}.managed-symbol-row .managed-symbol-name-control{grid-area:name}.managed-symbol-row .symbol-source-badge{grid-area:source;justify-self:start;padding:0 10px}.managed-symbol-row .managed-symbol-type-label{grid-area:type-label}.managed-symbol-row .managed-symbol-type{grid-area:type-select}.managed-symbol-row .managed-symbol-category-label{grid-area:category-label}.managed-symbol-row .managed-symbol-category{grid-area:category-select}.managed-symbol-row .managed-symbol-visibility{grid-area:visibility}.managed-symbol-row .symbol-permanent-delete{grid-area:delete}.managed-symbol-row .managed-symbol-mobile-label{display:block;color:#6b6258;font-size:12px}.managed-symbol-row input,.managed-symbol-row select,.managed-symbol-row .managed-symbol-visibility,.managed-symbol-row .symbol-permanent-delete{min-width:0;min-height:44px}.managed-symbol-row .managed-symbol-visibility,.managed-symbol-row .symbol-permanent-delete{font-size:14px;font-weight:600}.managed-symbol-name-control .managed-symbol-edit{flex-basis:44px;height:44px}.managed-symbol-row .managed-symbol-reset{grid-column:1 / -1;min-height:44px}.managed-symbol-row .symbol-row-placeholder{display:none}}.personal-symbol-manager-modal .managed-symbol-list{container:personal-symbols / inline-size;display:flex;flex-direction:column;gap:8px;min-width:0;overflow-x:hidden;padding-top:6px}.personal-symbol-manager-modal .managed-symbol-header-row,.personal-symbol-manager-modal .symbol-source-badge,.personal-symbol-manager-modal .symbol-row-placeholder{display:none}.personal-symbol-manager-modal .managed-symbol-row{flex:none;min-width:0;min-height:0;grid-template-columns:44px 40px minmax(140px,1fr) minmax(250px,1.3fr) 164px;grid-template-areas:"drag preview name details actions";gap:6px;padding:8px}.personal-symbol-manager-modal .symbol-drag-handle{grid-area:drag;width:44px;height:44px}.personal-symbol-manager-modal .managed-symbol-preview{grid-area:preview;width:40px;height:40px}.personal-symbol-manager-modal .managed-symbol-name-control{grid-area:name}.personal-symbol-manager-modal .managed-symbol-name-control .managed-symbol-edit{flex-basis:44px;height:44px}.personal-symbol-manager-modal .managed-symbol-details{grid-area:details;display:grid;grid-template-columns:max-content minmax(70px,1fr) max-content minmax(100px,1.6fr);align-items:center;gap:6px;min-width:0}.personal-symbol-manager-modal .managed-symbol-row-actions{grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.personal-symbol-manager-modal .managed-symbol-row-actions button{white-space:nowrap}.personal-symbol-manager-modal .managed-symbol-details>*,.personal-symbol-manager-modal .managed-symbol-row-actions>*{grid-area:auto;min-width:0}.personal-symbol-manager-modal .managed-symbol-row .managed-symbol-mobile-label{display:block;color:#6b6258;font-size:12px}.personal-symbol-manager-modal .managed-symbol-row input,.personal-symbol-manager-modal .managed-symbol-row select,.personal-symbol-manager-modal .managed-symbol-row-actions button{min-height:44px}@container personal-symbols (max-width: 799px){.personal-symbol-manager-modal .managed-symbol-row{grid-template-columns:44px 40px minmax(0,1fr) 164px;grid-template-areas:"drag preview name actions" "details details details details"}}@container personal-symbols (max-width: 519px){.personal-symbol-manager-modal .managed-symbol-row{grid-template-columns:44px 40px minmax(0,1fr);grid-template-areas:"drag preview name" "details details details" "actions actions actions"}}@media (max-width: 720px){.export-style-modal.member-login-modal,.export-style-modal.vip-recharge-modal{width:100%;max-width:100%;max-height:100%}}@media (min-width: 721px) and (max-width: 820px),(min-width: 721px) and (hover: none) and (pointer: coarse){.mobile-file-actions-backdrop{align-items:center}.mobile-file-actions-sheet{width:min(400px,100%)}.modal-backdrop.tablet-centered-dialog-backdrop{place-items:center}.tablet-centered-dialog-backdrop>.export-style-modal{width:min(400px,100%);max-height:100%}}.desktop-topbar-popover.mobile-file-actions-backdrop,.desktop-topbar-popover.modal-backdrop{position:fixed;inset:auto;top:var(--topbar-popover-top);left:var(--topbar-popover-left);z-index:150;display:block;width:var(--topbar-popover-width);height:auto;padding:0;background:transparent;overflow:visible;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.desktop-topbar-popover.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .16s ease,transform .16s ease,visibility 0s}.desktop-topbar-popover .mobile-file-actions-sheet,.desktop-topbar-popover>.export-style-modal{width:100%;max-width:100%;max-height:calc(100dvh - var(--topbar-popover-top) - 12px);overflow:auto;box-shadow:0 12px 30px #1f29332e}.desktop-topbar-popover .mobile-file-actions-header{display:none}.desktop-topbar-popover>.export-style-modal{font-size:13px}.desktop-topbar-popover .export-style-header{padding:10px 12px}.desktop-topbar-popover .export-style-header h2{font-size:15px}.desktop-topbar-popover .export-style-body{gap:10px;padding:12px}.desktop-topbar-popover .member-login-modal input:not([type=checkbox]),.desktop-topbar-popover .member-code-row button,.desktop-topbar-popover .member-login-submit{height:34px;min-height:34px;font-size:13px}.desktop-topbar-popover .vip-pay-section{grid-template-columns:128px minmax(0,1fr);gap:10px;padding:10px}.desktop-topbar-popover .vip-pay-code{width:128px;padding:6px}.desktop-topbar-popover .mobile-file-actions-grid{gap:2px;padding:5px}.desktop-topbar-popover .mobile-file-actions-grid button,.desktop-topbar-popover .mobile-file-open-label{min-height:36px;justify-content:flex-start;gap:9px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:#263238;font-size:13px;font-weight:500}.desktop-topbar-popover .mobile-file-actions-grid button.is-primary{background:transparent;color:#315a2c;font-weight:600}.desktop-topbar-popover .mobile-file-actions-grid button:hover:not(:disabled),.desktop-topbar-popover .mobile-file-open-label:hover,.desktop-topbar-popover .mobile-file-actions-grid button:focus-visible,.desktop-topbar-popover .mobile-file-open-label:focus-visible{background:#edf4e4}@media (prefers-reduced-motion: reduce){.desktop-topbar-popover.mobile-file-actions-backdrop,.desktop-topbar-popover.modal-backdrop{transition:none}}.workspace.has-share-edit-notice{grid-template-rows:58px auto minmax(0,1fr)}.share-edit-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#f0f4e9;border-bottom:1px solid #cfc7b8;font-size:12px;color:#53634a}.share-edit-notice>div{display:flex;flex-wrap:wrap;gap:4px 10px;min-width:0}.share-edit-notice button{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.new-chart-confirm .modal-actions{flex-wrap:wrap}@media (max-width: 820px),(hover: none) and (pointer: coarse){.workspace.has-share-edit-notice{grid-template-rows:auto auto minmax(0,1fr)}.share-edit-notice{padding:6px 8px;gap:8px}.share-edit-notice>div{flex-direction:column;font-size:11px}}.new-chart-notice{position:fixed;z-index:10000;left:50%;bottom:90px;transform:translate(-50%);padding:10px 16px;border-radius:8px;background:#3d4938;color:#fff;font-size:14px;max-width:calc(100vw - 32px);text-align:center;pointer-events:none}.local-draft-action-form{display:flex;flex-direction:column;gap:20px}.local-draft-action-form h3{margin:0;font-size:16px}.local-draft-action-form .modal-actions{margin-top:4px}.local-draft-modal.is-editing .local-draft-header{margin-bottom:20px}.local-draft-modal.is-editing .local-draft-header h2{margin-bottom:0}.local-draft-name-field{display:grid;gap:8px;color:#5f574f;font-size:14px}.local-draft-name-field input{width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;color:#263238;font:inherit;font-size:16px;line-height:1.5}.local-draft-name-field input:focus{outline:2px solid #7e9db5;outline-offset:1px;border-color:#7e9db5}.canvas-actions-modal .modal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.canvas-actions-modal.has-share-actions .modal-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.canvas-actions-modal .modal-actions button{min-width:0;min-height:40px;height:auto;padding:8px 6px;font-size:14px;line-height:1.4;white-space:nowrap}@media (max-width: 600px),(hover: none) and (pointer: coarse){.canvas-actions-modal.has-share-actions .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-actions-modal .modal-actions button{min-height:44px}}.symbol-removal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:20px;background:#1820286b}.symbol-removal-confirmation{width:min(400px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:22px;border:1px solid #d8d0c3;border-radius:12px;background:#fffdf7;box-shadow:0 18px 60px #1820283d}.symbol-removal-confirmation h3{margin:0 0 12px;font-size:18px;overflow-wrap:anywhere}.symbol-removal-confirmation p{margin:0 0 20px;font-size:14px;line-height:1.6;color:#6b6258}.symbol-removal-confirmation>div{display:flex;justify-content:flex-end;gap:10px}.symbol-removal-confirmation button{min-height:38px;min-width:76px;padding:7px 14px;border:1px solid #d8d0c3;border-radius:7px;background:#fffdf7;color:#243447;font-size:14px;touch-action:manipulation;cursor:pointer}.symbol-removal-confirmation button.danger{background:#b74534;border-color:#b74534;color:#fff}@media (any-pointer: coarse){.symbol-removal-confirmation button{min-height:44px}}.file-actions-separator{border-top:1px dashed #ded6ca;margin:4px 6px}.canvas-dimension-fields>label{grid-template-rows:1fr auto}.canvas-grid-spacing-heading{display:flex;align-items:center;justify-content:space-between;gap:2px;flex-wrap:wrap;min-height:18px}.canvas-grid-spacing-reset{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;min-height:18px;padding:0;border:1px solid #ded6ca;border-radius:4px;background:#fffdf7;color:#5f6b75;cursor:pointer}@media (any-pointer: coarse){.canvas-grid-spacing-heading{min-height:28px}.canvas-grid-spacing-reset{width:28px;height:28px;min-height:28px}}.hex-picker-trigger{width:38px;height:30px;padding:3px;border:1px solid #c8c0b2;border-radius:8px;box-shadow:inset 0 0 0 3px #fffdf7;cursor:pointer}.hex-picker-trigger.symbol-library-color-picker{width:38px;height:30px}.hex-picker-dialog{width:min(300px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;padding:14px;border:1px solid #d8d0c2;border-radius:12px;background:#fffdf7;color:#263238;box-shadow:0 12px 40px #0003}.hex-picker-dialog::backdrop{background:#0003}.hex-picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.hex-picker-header strong{font-size:14px}.hex-picker-header button{padding:6px 12px;border:1px solid #c8d6b9;border-radius:7px;background:#edf4e4;color:#35512c;font-size:14px;cursor:pointer}.hex-picker-plane{position:relative;height:170px;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);touch-action:none;cursor:crosshair}.hex-picker-point{position:absolute;width:12px;height:12px;border:2px solid white;border-radius:50%;box-shadow:0 0 2px #000;transform:translate(-50%,-50%);pointer-events:none}.hex-picker-dialog input.hex-picker-hue{display:block;width:100%;height:24px;margin:16px 0;padding:0;border:0;border-radius:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);touch-action:none}.hex-picker-hue::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:2px solid white;border-radius:50%;background:transparent;box-shadow:0 0 3px #000}.hex-picker-hue::-moz-range-thumb{width:20px;height:20px;border:2px solid white;border-radius:50%;background:transparent;box-shadow:0 0 3px #000}.hex-picker-dialog .hex-picker-value{display:grid;grid-template-columns:28px minmax(0,1fr) 32px;align-items:center;gap:6px;font-size:13px}.hex-picker-dialog .hex-picker-value input{width:100%;min-width:0;height:38px;box-sizing:border-box;padding:6px 10px;border:1px solid #c8c0b2;border-radius:7px;background:#fff;color:#263238;font-size:16px}.hex-picker-error{color:#b43b32;font-size:12px;margin:8px 0 0}@media (any-pointer: coarse){.hex-picker-trigger,.hex-picker-header button{min-height:40px}}.hex-picker-value>span{flex:0 0 auto;overflow:visible;white-space:nowrap}.hex-picker-dialog.hex-picker-dropdown{position:fixed;margin:0;z-index:10000}.hex-picker-dialog.hex-picker-dropdown{width:240px;padding:10px}.hex-picker-dropdown .hex-picker-plane{height:130px}.hex-picker-dropdown .hex-picker-header{margin-bottom:8px}.hex-picker-dropdown .hex-picker-header strong{font-size:13px}.hex-picker-dropdown .hex-picker-header button{min-height:28px;padding:4px 8px;font-size:12px}.hex-picker-dropdown input.hex-picker-hue{height:20px;margin:12px 0}.hex-picker-dropdown .hex-picker-value input{height:32px;font-size:14px}.hex-picker-preview{width:28px;height:28px;border:1px solid #c8c0b2;border-radius:6px;box-sizing:border-box}.hex-picker-dialog .hex-picker-eyedropper{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #c8c0b2;border-radius:6px;background:#fffdf7;color:#35424d;cursor:pointer}.hex-picker-dialog .hex-picker-eyedropper:disabled{opacity:.4;cursor:not-allowed}@media (any-pointer: coarse){.hex-picker-dialog:not(.hex-picker-dropdown) .hex-picker-eyedropper{height:40px}}.hex-picker-dialog.hex-picker-touch{position:fixed;margin:0;z-index:10000;width:260px;padding:10px;overscroll-behavior:contain}.hex-picker-touch .hex-picker-header{margin-bottom:8px;touch-action:none;cursor:move;-webkit-user-select:none;user-select:none}.hex-picker-touch .hex-picker-header strong{display:flex;align-items:center;gap:6px;font-size:13px}.hex-picker-touch .hex-picker-header button{min-height:40px;padding:6px 12px}.hex-picker-touch .hex-picker-plane{height:100px}.hex-picker-touch input.hex-picker-hue{height:24px;margin:10px 0}.hex-picker-dialog.hex-picker-touch .hex-picker-value{grid-template-columns:28px minmax(0,1fr) 40px}.hex-picker-dialog.hex-picker-touch .hex-picker-value input{height:40px;font-size:16px}.hex-picker-dialog.hex-picker-touch .hex-picker-eyedropper{width:40px;height:40px}.desktop-topbar-popover .desktop-account-menu{padding:0}.desktop-account-menu .symbol-manager-header{margin:0;border-bottom:1px dashed #ded6ca}.desktop-account-menu .symbol-manager-header h2{margin:0;font-size:14px}.desktop-account-menu .symbol-manager-header p{margin:4px 0 0;font-size:12px}.desktop-topbar-popover .desktop-account-menu .mobile-file-actions-grid{padding:6px}.desktop-topbar-popover .desktop-account-menu button.danger{color:#a73522}.account-menu-divider{grid-column:1 / -1;border-top:1px dashed #ded6ca;margin:4px 0}.account-settings-modal{max-height:calc(100dvh - 32px);overflow-y:auto}.account-settings-field-actions button,.account-settings-danger button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#293640;font-size:13px;line-height:20px;white-space:nowrap;flex-shrink:0}.account-settings-danger button.danger{border-color:transparent;background:transparent;color:#a73522;padding-inline:6px}@media (hover: hover){.account-settings-danger button:hover:not(:disabled){background:#fff0eb;border-color:transparent}}.account-settings-danger button:focus-visible{outline:2px solid #58764b;outline-offset:2px}.account-settings-danger button:disabled{opacity:.5;cursor:not-allowed}@media (pointer: coarse){.account-settings-danger button{min-height:44px}}.account-settings-danger{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:12px;border-top:1px dashed #ded6ca}.account-settings-field{margin-bottom:16px}.account-settings-field+.account-settings-field{border-top:1px dashed #ded6ca;padding-top:16px}.account-settings-field-row{display:flex;align-items:center;gap:10px;margin-top:0}.account-settings-value{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.account-settings-field-row input{flex:1;min-width:0;width:0}.account-settings-field-actions{display:flex;gap:6px;flex-shrink:0}.account-settings-field-actions .account-field-save{background:transparent;border-color:transparent;color:#36572c}.account-settings-field-actions button:focus-visible{outline:2px solid #58764b;outline-offset:2px}.account-settings-field-actions button:disabled{opacity:.5;cursor:not-allowed}@media (hover: hover){.account-settings-field-actions button:hover:not(:disabled){background:#f2eee5;border-color:transparent}.account-settings-field-actions .account-field-save:hover:not(:disabled){background:#edf4e5;border-color:transparent}}@media (pointer: coarse){.account-settings-field-actions button{min-height:44px}}.member-login-modal.account-settings-modal{display:block;width:min(340px,calc(100vw - 24px));padding:0;color:#263238;font-size:14px}.account-settings-modal .account-settings-field{margin:0;padding-bottom:3px}.account-settings-modal .account-settings-field+.account-settings-field{padding-top:3px}.account-settings-field-label{display:block;color:#4c463f;font-weight:700}.account-settings-modal .account-settings-danger{margin-top:0;padding-top:12px}.desktop-topbar-popover>.account-settings-submenu{width:100%;max-height:calc(100dvh - var(--topbar-popover-top) - 12px);overflow-y:auto;box-shadow:0 12px 30px #1f29332e}.account-settings-submenu .chart-export-header{justify-content:flex-start;gap:8px;padding:9px 12px}.account-settings-submenu .chart-export-header h2{font-size:15px}.account-settings-modal .chart-export-body{padding:12px}.account-settings-modal.account-settings-submenu{font-size:13px}.account-settings-modal .account-settings-field label,.account-settings-modal .account-settings-field-label{display:flex;align-items:baseline;gap:0;font-size:12px;line-height:18px;font-weight:400;color:#766f67}.account-settings-optional{color:#948d82;font-size:11px;font-weight:400}.account-settings-field-actions button:not(.account-field-save){color:#766f67}.account-settings-field-actions button:active:not(:disabled){background:#f0ece3}.account-settings-danger button:active:not(:disabled){background:#fff0eb}.account-settings-submenu .account-settings-value{font-size:13px}.account-settings-submenu .chart-export-back{width:28px;height:28px}@media (max-width: 820px),(hover: none) and (pointer: coarse){.member-login-modal.member-account-modal{width:min(360px,100%);justify-self:center;gap:10px}.member-account-actions button{justify-content:center;gap:8px;padding:8px 12px;min-height:44px}.member-account-actions button svg{flex-shrink:0}}.hex-picker-palette{margin-top:10px;padding-top:8px;border-top:1px dashed #ded6ca}.hex-picker-palette-heading{display:flex;align-items:center;justify-content:space-between;color:#766f67;font-size:12px}.hex-picker-palette .hex-picker-error button{border:0;border-radius:5px;background:transparent;color:#58764b;padding:4px;font-size:12px}.hex-picker-palette-swatches{display:flex;gap:2px;overflow-x:auto;padding:4px 0;scrollbar-width:thin}.hex-picker-palette-swatches .hex-picker-swatch{flex:1 1 0;min-width:0;width:auto;height:32px;display:grid;place-items:center;padding:3px;border:1px solid transparent;border-radius:6px;background:transparent;color:#766f67}.hex-picker-swatch span{width:20px;height:20px;border:1px solid #c8c0b2;border-radius:50%}.hex-picker-palette-swatches .hex-picker-swatch[aria-pressed=true] span{outline:2px solid #678653;outline-offset:2px}.hex-picker-palette button:disabled{opacity:.45;cursor:default}.hex-picker-palette small{font-size:11px;color:#766f67}.hex-picker-touch .hex-picker-palette button{min-height:44px}.canvas-grid-line-width-control{display:flex;align-items:center;gap:8px;margin-top:10px;color:#766f67;font-size:12px}.canvas-grid-line-width-control span,.canvas-grid-line-width-control output{flex-shrink:0}.canvas-grid-line-width-control input{flex:1;min-width:0;accent-color:#678653}.canvas-grid-line-width-control output{width:34px;text-align:right;font-variant-numeric:tabular-nums}.canvas-grid-color-control{margin-top:10px;min-width:0}.canvas-grid-color-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:#766f67;font-size:12px}.canvas-grid-color-heading label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.canvas-grid-visibility-options{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 8px}.canvas-grid-color-heading>span,.canvas-grid-visibility-options label{flex-shrink:0;white-space:nowrap}.canvas-grid-color-heading input{margin:0;accent-color:#678653}.mobile-property-scroll-cue.is-left{left:0;right:auto;background:linear-gradient(to left,transparent,#f8f5ec 35%)}.topbar-scroll-cue.is-left{left:0;right:auto!important;background:linear-gradient(90deg,#f8f5ec 58%,#f8f5ec00)}.topbar-scroll-cue{width:24px;animation:none}@media (max-width: 820px),(hover: none) and (pointer: coarse){.app-shell.phone-touch-layout .topbar .mobile-property-scroll-cue{width:24px;min-width:0;height:100%;min-height:0;padding:0;border:0;border-radius:0;z-index:1}.app-shell.phone-touch-layout .topbar-scroll-cue{height:54px}.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-types,.app-shell.phone-touch-layout .mobile-top-compact-panel.is-arrange .mobile-top-arrange-group{justify-content:safe center}}.language-switcher{display:inline-flex;flex:0 0 auto}.language-switcher .language-switcher-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 8px;color:#263238;border:1px solid #c8c0b2;border-radius:8px;background:#fffdf7;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.language-switcher-trigger:hover,.language-switcher-trigger[aria-expanded=true]{border-color:#a9bb97;background:#fafbf5}.language-switcher-trigger:focus-visible{outline:2px solid #63864b;outline-offset:2px}.language-switcher-list{position:fixed;z-index:1000;display:grid;gap:3px;min-width:144px;padding:5px;border:1px solid #ded6ca;border-radius:8px;background:#fffdf7;color:#263238;box-shadow:0 6px 18px #1f29331f}.language-switcher-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:7px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:400;text-align:left}.language-switcher-list button[aria-selected=true]{background:#edf4e4;color:#315a2c}.language-switcher-list button:hover,.language-switcher-list button:focus-visible{background:#e7efdf;outline:none;border-color:#a9bb97}.shared-chart-page>.language-switcher,.legal-page>.language-switcher{float:right;margin:8px 12px}html[lang=en] .category-strip{grid-template-columns:repeat(3,minmax(0,1fr))}html[lang=en] .category-strip button{height:auto;min-height:30px;padding:5px;white-space:normal;line-height:1.25}html[lang=en] .symbol-grid{grid-auto-rows:max-content}html[lang=en] .symbol-card{height:auto;grid-template-rows:64px max-content}html[lang=en] .symbol-card span{white-space:normal;overflow-wrap:break-word;line-height:1.3}html[lang=en] .member-code-row button{min-width:82px;white-space:normal}html[lang=en] .custom-stitch-editor-sync-option{max-width:280px;white-space:normal;text-align:right}html[lang=en] .sidebar-section-title{flex-wrap:wrap;row-gap:4px}html[lang=en] .field-grid label{min-width:0;overflow-wrap:break-word}@media (max-width: 820px),(hover: none) and (pointer: coarse){.app-shell.phone-touch-layout .topbar>.language-switcher{order:12}.app-shell.phone-touch-layout .language-switcher-trigger{min-height:44px}html[lang=en] .mobile-property-tabs button{flex-shrink:0}}
