.canvas-grid-frame{flex:1;min-height:320px;overflow:auto;border:1px solid #9fa7b3;background:#fff}.canvas-grid-surface{position:relative;min-width:1px;min-height:1px}.canvas-grid{position:sticky;top:0;left:0;display:block;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-grid.selection-mode{cursor:crosshair}.canvas-grid:focus-visible{outline:2px solid #2f6fed;outline-offset:-2px}.canvas-zoom-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.canvas-zoom-controls button{padding:6px 10px;border:1px solid #c8ced8;border-radius:6px;background:#fff;color:inherit;cursor:pointer}.canvas-zoom-controls button:disabled{opacity:.5;cursor:default}.canvas-zoom-controls button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.canvas-zoom-controls button:hover:not(:disabled){background:#f4f5f7}.canvas-zoom-controls output{min-width:5ch;text-align:center;font-variant-numeric:tabular-nums}.canvas-zoom-controls span{color:#646b76;font-size:13px}.pattern-preview{display:block;max-width:144px;max-height:144px;border:1px solid #c8ced8;background:#fff}.pattern-card{display:flex;flex-direction:column;gap:10px;border:1px solid #dfe3ea;border-radius:14px;padding:12px;background:#fff;cursor:grab}.pattern-card:active{cursor:grabbing}.pattern-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pattern-card-header h3,.pattern-card-header p{margin:0}.pattern-card-header h3{overflow:hidden;font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere}.pattern-card-header p{margin-top:4px;color:#646b76;font-size:13px}.pattern-card-preview{display:flex;min-height:88px;align-items:center;justify-content:center;overflow:auto;padding:8px;border:1px solid #edf0f4;background:#fafbfd;border-radius:8px}.pattern-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pattern-card-actions button{min-width:0;border:1px solid #c8ced8;border-radius:6px;padding:7px 6px;background:#fff;color:#1d1d1f;cursor:pointer;font-size:12px;line-height:1.2}.pattern-card-actions button:hover{border-color:#7b8491;background:#f4f5f7}.pattern-card-actions button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.pattern-card:hover{border-color:#b8c5d8;box-shadow:0 3px 12px #2637520d}.pattern-card:focus-within,.pattern-card-dragging{border-color:#2f6fed;box-shadow:0 0 0 2px #2f6fed1a}.pattern-card-header>div{min-width:0}.pattern-card-actions button{border-radius:8px}.pattern-grid-editor{display:flex;min-height:0;flex:1;flex-direction:column;gap:8px}.pattern-grid-viewport{height:48vh;min-height:220px;flex-shrink:0;overflow:auto;border:1px solid #c8ced8;background:#e5e7eb}.pattern-edit-grid{display:grid;width:max-content;touch-action:none}.pattern-grid-editor .pattern-edit-cell{box-sizing:border-box;min-width:0;border:1px solid #d1d5db;border-radius:0;padding:0}.pattern-grid-editor .pattern-edit-cell--1{background:#111827}.pattern-grid-editor .pattern-edit-cell--0,.pattern-grid-editor .pattern-edit-cell--null{background:#fff}.pattern-preview-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.pattern-preview-zoom output{min-width:5ch;text-align:center;font-variant-numeric:tabular-nums}.pattern-preview-zoom span{color:#646b76;font-size:13px}.pattern-preview-zoom button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.pattern-create-dialog{width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);border:0;border-radius:12px;padding:0;box-shadow:0 24px 80px #0005}.pattern-create-dialog::backdrop{background:#11182799}.pattern-create-modal{display:flex;max-height:calc(100vh - 32px);flex-direction:column}.pattern-create-modal header,.pattern-create-modal footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #d7dbe2}.pattern-create-modal footer{border-top:1px solid #d7dbe2;border-bottom:0}.pattern-create-modal h2,.pattern-create-modal p{margin:0}.pattern-create-content{display:flex;min-height:0;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:20px}.pattern-create-file,.pattern-metadata label,.pattern-parameters label{display:flex;flex-direction:column;gap:5px}.pattern-parameters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pattern-parameters>label{min-width:0}.pattern-parameters>label input{min-width:0}.pattern-parameter-slider{display:flex;min-width:0;flex-direction:column;gap:8px}.pattern-parameter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pattern-parameter-heading output{flex-shrink:0;font-variant-numeric:tabular-nums}.pattern-parameter-slider p{color:#646b76;font-size:13px;line-height:1.4}.pattern-create-modal .pattern-parameter-slider input[type=range]{box-sizing:border-box;width:100%;min-height:28px;margin:0;padding:0;border:0;accent-color:#2f6fed;cursor:pointer}.pattern-parameter-slider input:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.pattern-create-modal input,.pattern-create-modal select{border:1px solid #c8ced8;border-radius:6px;padding:8px}.pattern-create-modal button{border:1px solid #c8ced8;border-radius:6px;padding:8px 12px;background:#fff;cursor:pointer}.pattern-create-modal button:disabled{cursor:not-allowed;opacity:.55}.pattern-result-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.pattern-result-heading label{display:flex;align-items:center;gap:6px}.pattern-create-error{margin:0 20px 12px!important;color:#991b1b}@media(max-width:700px){.pattern-parameter-slider{grid-column:1 / -1}}.moderation-dialog{width:min(900px,92vw);max-height:85vh;overflow:auto;border:1px solid #c8ced8;border-radius:12px;padding:20px}.moderation-dialog::backdrop{background:#0006}.moderation-dialog header,.moderation-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.moderation-item{margin-top:20px;padding-top:16px;border-top:1px solid #c8ced8}.moderation-item dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.moderation-item dd{margin:0;overflow-wrap:anywhere}.moderation-matrix{max-height:450px;overflow:auto;margin:12px 0}.moderation-matrix canvas{max-width:none;max-height:none}.moderation-item textarea{display:block;box-sizing:border-box;width:100%;min-height:70px;margin:8px 0}.moderation-actions{justify-content:flex-start}.patterns-panel{display:flex;min-width:0;min-height:0;height:100vh;flex-direction:column;gap:14px;overflow:hidden;padding:20px 16px;background:#fff}.pattern-create-button{width:36px;height:36px;flex:0 0 auto;border:1px solid #2f6fed;border-radius:50%;background:#2f6fed;color:#fff;cursor:pointer;font-size:24px;line-height:1}.pattern-create-notice{border:1px solid #86b69b;border-radius:6px;padding:8px 10px;background:#eefbf3;color:#245c39;font-size:13px}.pattern-placeholder{display:grid;min-height:160px;place-items:center;border:1px dashed #aeb6c2;border-radius:12px;color:#646b76;font-size:14px}.pattern-filters{display:flex;flex-direction:column;gap:10px;border:1px solid #d7dbe2;border-radius:12px;padding:12px;background:#fafbfd}.pattern-filter-field{display:flex;flex-direction:column;gap:5px;color:#4b5563;font-size:13px}.pattern-filter-field input,.pattern-filter-field select{min-width:0;border:1px solid #c8ced8;border-radius:6px;padding:8px 10px;background:#fff;color:#1d1d1f;font:inherit}.pattern-filter-field input:focus-visible,.pattern-filter-field select:focus-visible,.pattern-add-tag-button:focus-visible,.pattern-tag-chip:focus-visible,.pattern-filter-footer button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.pattern-add-tag-button,.pattern-filter-footer button,.pattern-tag-chip{border:1px solid #c8ced8;border-radius:6px;background:#fff;color:#1d1d1f;cursor:pointer;font-weight:600}.pattern-add-tag-button,.pattern-filter-footer button{padding:8px 10px}.pattern-add-tag-button:hover:not(:disabled),.pattern-filter-footer button:hover:not(:disabled),.pattern-tag-chip:hover{border-color:#7b8491;background:#f4f5f7}.pattern-add-tag-button:disabled,.pattern-filter-footer button:disabled{cursor:not-allowed;opacity:.55}.pattern-tag-chips{display:flex;flex-wrap:wrap;gap:6px}.pattern-tag-chip{padding:5px 8px;font-size:12px}.pattern-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#646b76;font-size:13px}.pattern-card-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.pattern-errors{max-height:180px;overflow:auto;border:1px solid #e1a1a1;border-radius:12px;padding:12px;background:#fff7f7;color:#7a2020;font-size:13px}.pattern-errors h3,.pattern-errors ul{margin:0}.pattern-errors ul{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-left:18px}.patterns-panel [role=tablist]{display:flex;gap:4px;padding:4px;border-radius:12px;background:#e7ebf1}.patterns-panel [role=tab]{flex:1;padding:.5rem;border:1px solid #c8ced8;border-radius:6px;background:#fff;cursor:pointer}.patterns-panel [role=tab][aria-selected=true]{background:#fff;color:#245bc7;border-color:transparent;box-shadow:0 1px 4px #26375218;font-weight:600}.patterns-panel [role=tab]{border-color:transparent;background:transparent;border-radius:8px}.patterns-panel [role=tab][aria-selected=true]{background:#fff}.patterns-panel [role=tab]:focus-visible,.pattern-create-button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.pattern-tag-chip{border-radius:16px;background:#e8efff;border-color:#d6e2fc;color:#245bc7}.pattern-filter-panel{flex-shrink:0;border:1px solid #d7dbe2;border-radius:12px;background:#fafbfd}.pattern-filter-panel>summary{padding:12px;cursor:pointer;color:#4b5563;font-size:13px;font-weight:600}.pattern-filter-panel>summary:focus-visible{outline:2px solid #2f6fed;outline-offset:2px;border-radius:10px}.pattern-filter-panel>.pattern-filters{border:0;border-top:1px solid #e7ebf1;border-radius:0 0 12px 12px}.pattern-filters-active{margin-left:8px;padding:3px 7px;border-radius:10px;background:#e8efff;color:#245bc7;font-size:11px;font-weight:500}.selection-context-menu{position:fixed;z-index:20;display:flex;min-width:160px;flex-direction:column;padding:4px;border:1px solid #c8ced8;border-radius:6px;background:#fff;box-shadow:0 12px 28px #181f2d29}.selection-context-menu button{border:0;border-radius:4px;padding:8px 10px;background:transparent;color:#1d1d1f;cursor:pointer;font:inherit;text-align:left}.selection-context-menu button:hover:not(:disabled),.selection-context-menu button:focus-visible{background:#edf3ff;outline:none}.selection-context-menu button:disabled{cursor:not-allowed;opacity:.45}.size-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.size-controls label{display:flex;flex-direction:row;align-items:center;gap:5px;color:#4b5563;font-size:13px}.size-controls input{width:66px;border:1px solid #c8ced8;border-radius:8px;padding:7px 8px;background:#fff;color:#1d1d1f}.size-controls button{border:1px solid #c8ced8;border-radius:8px;padding:8px 12px;background:#f4f6fa;color:#1d1d1f;cursor:pointer;font-weight:600}.size-controls button:hover{background:#e8efff}.size-controls input:focus-visible,.size-controls button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;flex-shrink:0}.toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.toolbar button,.toolbar-file-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid #c8ced8;border-radius:8px;padding:7px 10px;background:#fff;color:#1d1d1f;cursor:pointer;font:inherit;font-size:13px;font-weight:500}.toolbar button:hover,.toolbar-file-button:hover{border-color:#9ca9bb;background:#f0f3f8}.toolbar button:focus-visible,.toolbar-file-button:focus-within{outline:2px solid #2f6fed;outline-offset:2px}.toolbar button.active{color:#245bc7;border-color:#b1c9fa;background:#e8efff}.toolbar-files{padding-left:12px;border-left:1px solid #d7dbe2}.toolbar-danger-group{margin-left:auto;padding-left:12px;border-left:1px solid #d7dbe2}.toolbar .toolbar-clear{color:#a22222;border-color:transparent;background:transparent}.toolbar .toolbar-clear:hover{background:#fbeaea;border-color:#edc9c9}.toolbar-selection-icon{width:14px;height:14px;border:1.5px dashed currentColor;flex-shrink:0}.toolbar-file-button{position:relative}.toolbar-file-button input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.toolbar-error{width:100%;margin:0;color:#9f1d1d;font-size:13px}@media(max-width:600px){.toolbar-files{flex-basis:100%;padding:0;border:0}.toolbar-danger-group{margin-left:0;padding-left:0;border:0}}.scheme-catalog{grid-column:1 / -1;overflow:auto;padding:32px;background:#f4f5f7}.scheme-catalog button,.scheme-toolbar button,.scheme-navigation button,.scheme-save-dialog button{min-height:38px;padding:8px 14px;color:#1d1d1f;background:#fff;border:1px solid #c8ced8;border-radius:8px;cursor:pointer;font:inherit;font-size:14px}.scheme-catalog button:hover:not(:disabled),.scheme-toolbar button:hover:not(:disabled),.scheme-save-dialog button:hover:not(:disabled){background:#f0f3f8;border-color:#9ca9bb}.scheme-catalog button:disabled,.scheme-toolbar button:disabled,.scheme-save-dialog button:disabled{opacity:.5;cursor:default}.scheme-catalog :is(button,a,input):focus-visible,.scheme-save-dialog :is(button,input,select):focus-visible,.scheme-toolbar button:focus-visible,.scheme-navigation button:focus-visible{outline:2px solid #2f6fed;outline-offset:3px}.scheme-navigation [aria-current=page]{background:#e8efff;border-color:#2f6fed}.scheme-navigation,.scheme-toolbar,.scheme-pages{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.scheme-navigation{padding:12px 24px;grid-column:1 / -1;border-bottom:1px solid #d7dbe2}.app-shell{grid-template-rows:auto minmax(0,1fr)}.scheme-catalog-header{margin-bottom:24px}.scheme-catalog-header h1{margin:0;font-size:28px;letter-spacing:-.5px}.scheme-catalog-header p{margin:8px 0 0;color:#646b76;font-size:14px}.scheme-catalog-switcher{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.scheme-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#e7ebf1}.scheme-tabs button{min-width:100px;background:transparent;border-color:transparent;font-weight:600}.scheme-tabs button[aria-selected=true]{background:#fff;color:#245bc7;box-shadow:0 1px 4px #26375218}.scheme-moderation-link[aria-pressed=true]{color:#245bc7;background:#e8efff;border-color:#2f6fed}.scheme-filters{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:20px;border:1px solid #dfe3ea;border-radius:12px;background:#fff}.scheme-search{flex:1 1 260px}.scheme-catalog label,.scheme-save-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;min-width:0}.scheme-catalog input,.scheme-save-dialog input,.scheme-save-dialog select,.scheme-review textarea{box-sizing:border-box;min-height:40px;padding:9px 12px;border:1px solid #c8ced8;border-radius:8px;max-width:100%;min-width:0;font:inherit;font-size:14px;color:#1d1d1f;background:#fff}.scheme-search input{width:100%}.scheme-reset{align-self:center}.scheme-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px;margin:24px 0}.scheme-card{display:flex;flex-direction:column;min-width:0;padding:12px;border:1px solid #dfe3ea;border-radius:16px;background:#fff;overflow-wrap:anywhere;transition:box-shadow .15s}.scheme-card:hover{box-shadow:0 5px 20px #2637520d}.scheme-card-preview{aspect-ratio:1;display:grid;place-items:center;padding:16px;border:1px solid #edf0f4;border-radius:10px;background:#fafbfd}.scheme-card-preview img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.scheme-card-body{padding:16px 4px}.scheme-card h2{margin:0;font-size:18px;line-height:1.4}.scheme-dimensions{color:#646b76;font-size:13px;margin:6px 0 12px}.scheme-card-tags,.scheme-tag-chips{display:flex;gap:6px;flex-wrap:wrap}.scheme-card-tags:empty{display:none}.scheme-card-tags{margin-bottom:12px}.scheme-card-tags span{padding:4px 8px;border-radius:6px;background:#f1f3f7;color:#526071;font-size:12px}.scheme-status{display:inline-block;border-radius:20px;padding:5px 9px;font-size:12px;font-weight:600}.scheme-status-private{color:#515c6b;background:#edf0f4}.scheme-status-pending{color:#835712;background:#fff2d7}.scheme-status-published{color:#236345;background:#e5f3eb}.scheme-status-rejected{color:#9a3434;background:#fbeaea}.scheme-card-note,.scheme-rejection{font-size:13px;line-height:1.5;margin:8px 0 0;color:#646b76}.scheme-rejection{color:#9a3434}.scheme-card-footer{margin-top:auto;display:flex;align-items:center;gap:8px;padding:0 4px 4px}.scheme-open{flex:1}.scheme-catalog .scheme-primary,.scheme-toolbar .scheme-primary,.scheme-save-dialog .scheme-primary{background:#2f6fed;border-color:#2f6fed;color:#fff;font-weight:600}.scheme-catalog .scheme-primary:hover:not(:disabled),.scheme-toolbar .scheme-primary:hover:not(:disabled),.scheme-save-dialog .scheme-primary:hover:not(:disabled){background:#245bc7;border-color:#245bc7}.scheme-actions{position:relative}.scheme-catalog .scheme-menu-trigger{width:40px;padding:4px;font-size:24px;line-height:1}.scheme-actions-popover{position:absolute;right:0;bottom:calc(100% + 8px);z-index:5;width:210px;max-width:75vw;padding:6px;border:1px solid #d7dbe2;border-radius:10px;background:#fff;box-shadow:0 8px 28px #1d293926}.scheme-actions-popover button,.scheme-actions-popover a{box-sizing:border-box;display:block;width:100%;margin:0;padding:10px;border:0;border-radius:6px;text-align:left;font-size:14px;line-height:1.4;text-decoration:none;color:#1d1d1f}.scheme-actions-popover a:hover{background:#f0f3f8}.scheme-actions-popover .scheme-delete{color:#a22222}.scheme-pages{justify-content:center;margin-top:32px;color:#646b76;font-size:14px}.scheme-empty{text-align:center;padding:48px 16px;color:#646b76}.scheme-review{padding:20px;background:#fff;border:1px solid #c8ced8;border-radius:12px}.scheme-review>button{margin:12px 8px 0 0}.scheme-matrix{max-height:60vh;overflow:auto;margin:12px 0}.scheme-editor-hidden{display:none!important}.scheme-pattern-panel{min-height:0;overflow:auto}.scheme-pattern-panel>.patterns-panel{height:100%}.scheme-navigation .auth-status{margin-left:auto}.scheme-toolbar>span{font-size:13px;color:#646b76}.scheme-tag-picker{display:flex;flex-direction:column;gap:8px;min-width:0}.scheme-tag-input{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.scheme-tag-input label{flex:1}.scheme-tag-chips button{min-height:30px;background:#e8efff;border:1px solid #d6e2fc;border-radius:16px;padding:4px 10px;cursor:pointer;overflow-wrap:anywhere}.scheme-tag-note{font-size:13px;color:#606975}.scheme-save-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;border:1px solid #d7dbe2;border-radius:16px;background:#fff;color:#1d1d1f;box-shadow:0 20px 80px #1d29392e}.scheme-save-dialog::backdrop{background:#14192366}.scheme-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid #edf0f4}.scheme-dialog-header h2{margin:0;font-size:22px}.scheme-dialog-header p{margin:8px 0 0;font-size:14px;color:#646b76}.scheme-save-dialog .scheme-close{flex-shrink:0;width:36px;min-height:36px;padding:0;font-size:24px;background:#f4f5f7;border-color:transparent}.scheme-save-fields{display:flex;flex-direction:column;gap:20px;padding:24px}.scheme-help,.scheme-error{margin:0;font-size:14px;line-height:1.5}.scheme-help{color:#646b76}.scheme-error{color:#a22222}.scheme-dialog-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:20px 24px;border-top:1px solid #edf0f4;background:#fafbfd}@media(max-width:900px){.scheme-catalog{overflow:visible;padding:24px 16px}.scheme-pattern-panel>.patterns-panel{height:auto;min-height:320px}}@media(max-width:600px){.scheme-cards{grid-template-columns:minmax(0,1fr);gap:16px}.scheme-filters{padding:16px}.scheme-search,.scheme-filters>.scheme-tag-picker{flex-basis:100%}.scheme-pages{gap:8px}.scheme-pages button{padding:8px 10px}.scheme-dialog-header,.scheme-save-fields{padding:20px}.scheme-dialog-footer{padding:16px 20px}.scheme-dialog-footer button{flex:1 1 100%}}.auth-status{flex:0 0 auto}.auth-status-actions,.auth-dialog-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.auth-status-actions{justify-content:flex-end}.auth-login{max-width:min(320px,75vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-status button,.auth-dialog button{padding:8px 12px;border:1px solid #c8ced8;border-radius:6px;background:#fff;color:#1d1d1f;cursor:pointer}.auth-status button:hover:not(:disabled),.auth-dialog button:hover:not(:disabled){background:#f4f5f7}.auth-dialog button:disabled,.auth-status button:disabled{opacity:.55;cursor:default}.auth-status button:focus-visible,.auth-dialog button:focus-visible,.auth-dialog input:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.auth-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d7dbe2;border-radius:12px;padding:24px;color:#1d1d1f}.auth-dialog::backdrop{background:#14192366}.auth-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-dialog h2{font-size:22px;margin:0}.auth-dialog p{line-height:1.45;overflow-wrap:anywhere}.auth-dialog form,.auth-dialog label{display:flex;flex-direction:column;gap:12px}.auth-dialog label{gap:6px}.auth-dialog input{min-width:0;width:100%;padding:10px;border:1px solid #c8ced8;border-radius:6px}.auth-dialog .auth-primary{background:#2f6fed;border-color:#2f6fed;color:#fff}.auth-dialog .auth-primary:hover:not(:disabled){background:#245bc7}.auth-note{font-size:14px;color:#646b76;margin:8px 0}.auth-error{color:#a22222}@media(max-width:900px){.auth-status-actions{justify-content:flex-start}}.auth-entry{width:min(400px,calc(100vw - 32px));border-radius:16px}.auth-entry .auth-dialog-header{margin-bottom:24px}.auth-entry .auth-close{padding:0;width:32px;height:32px;flex-shrink:0;border-color:transparent;background:#f4f5f7;font-size:22px;border-radius:8px}.auth-entry .auth-telegram{width:100%;min-height:44px;border-radius:8px;font-size:14px;font-weight:600}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#78808d;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e3e7ee}.auth-entry label{font-size:14px;gap:8px}.auth-entry input{box-sizing:border-box;min-height:44px;border-radius:8px;font-size:16px}.auth-entry .auth-primary{min-height:44px;border-radius:8px;font-size:14px;font-weight:600}.auth-entry form{gap:16px}.auth-entry .auth-code-destination{margin:0 0 4px;font-size:14px;color:#646b76}.auth-code-destination strong{color:#1d1d1f;font-weight:500}.auth-entry .auth-code-input{text-align:center;font-size:22px;letter-spacing:.18em}.auth-entry .auth-code-input::placeholder{font-size:16px;letter-spacing:normal}.auth-secondary-actions{display:flex;flex-direction:column;align-items:center;gap:4px}.auth-entry .auth-text-button{border:0;padding:8px;background:transparent;color:#245bc7;font-size:13px}.auth-entry .auth-text-button:disabled{color:#646b76;opacity:1}.auth-entry .auth-error{margin-bottom:0;font-size:14px}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;height:100vh;overflow:hidden;background:#f4f5f7;color:#1d1d1f}.workspace-panel{min-width:0;min-height:0;padding:16px 20px}.workspace-panel{display:flex;flex-direction:column;gap:12px;overflow:hidden;border-right:1px solid #d7dbe2}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.workspace-tools{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:12px}.panel-header h1,.panel-header h2,.panel-header p{margin:0}.panel-header h1{font-size:24px;line-height:1.2}.panel-header h2{font-size:20px;line-height:1.25}.panel-header p{margin-top:6px;color:#646b76;font-size:14px;line-height:1.45}.canvas-edge-actions{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:10px}.canvas-edge-actions button{border:1px solid #c8ced8;border-radius:6px;padding:8px 12px;background:#fff;color:#1d1d1f;cursor:pointer;font-weight:600}.canvas-edge-actions button:hover{border-color:#7b8491;background:#f4f5f7}.canvas-edge-actions button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}@media(max-width:900px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.panel-header{flex-direction:column}.workspace-tools{justify-content:flex-start}.workspace-panel{border-right:0;border-bottom:1px solid #d7dbe2}}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.editor-heading{min-width:0}.editor-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.editor-title-line h1{min-width:0;margin:0;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.editor-heading p{margin:5px 0 0;font-size:13px;color:#646b76}.editor-unsaved{display:inline-flex;align-items:center;gap:6px;color:#835712;font-size:12px;white-space:nowrap}.editor-unsaved:before{content:"";width:6px;height:6px;border-radius:50%;background:#b58023}.editor-save-actions{flex-shrink:0;justify-content:flex-end}.editor-size-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:10px 12px;background:#fff;border:1px solid #dfe3ea;border-radius:10px;flex-shrink:0}.editor-size-bar .canvas-edge-actions{gap:6px}.editor-size-bar .canvas-edge-actions button{font-size:12px;font-weight:500;border-radius:8px;padding:7px 9px}.editor-error{margin:0;color:#a22222;font-size:13px}.editor-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;color:#236345;background:#f3fbf6;border:1px solid #b5d8c4;border-radius:12px;box-shadow:0 6px 24px #1d293918}.editor-toast p{margin:0;font-size:14px;line-height:1.45}.editor-toast button{border:0;background:transparent;color:inherit;font-size:22px;padding:0 4px;min-width:32px;min-height:32px;cursor:pointer}.editor-toast button:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.workspace-panel>.canvas-grid-frame{border-color:#b7c0cd;border-radius:10px;min-height:120px}@media(max-width:900px){.editor-header{flex-wrap:wrap}.editor-save-actions{justify-content:flex-start}.workspace-panel>.canvas-grid-frame{min-height:320px}}@media(max-width:600px){.workspace-panel{padding:16px 12px}.editor-title-line h1{font-size:20px}.editor-size-bar{padding:10px}.editor-toast{bottom:12px}}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f5f7}body{margin:0}button,input,textarea,select{font:inherit}
