.brand-mark[data-astro-cid-yykneotp]{display:block;flex:none}.editor-page{overflow:hidden}.editor-shell{height:100dvh;min-height:640px;display:grid;grid-template-rows:44px 1fr 28px;font-size:14px}.editor-topbar{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--line);z-index:20;min-width:0}.editor-topbar .home-logo{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;align-self:flex-start;margin-top:6px;line-height:0}.editor-topbar .home-logo svg{display:block;flex:none;image-rendering:pixelated}.editor-topbar input{height:32px;min-height:32px;width:170px;min-width:0;padding:4px 8px;border-color:transparent}.editor-topbar input:hover{border-color:var(--line-strong)}.editor-topbar button,.editor-topbar summary{font-size:13px;min-height:32px;padding:4px 8px}.editor-topbar .spacer{flex:1}.editor-topbar .export-main{margin-left:auto}.editor-menu{display:flex;gap:0}.editor-menu details{position:relative}.editor-menu summary{list-style:none;cursor:pointer}.editor-menu summary:hover{background:var(--fabric-1)}.menu-popover{position:absolute;top:36px;left:0;min-width:220px;padding:4px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:2px 2px 0 var(--line-strong);z-index:30}.menu-popover button{display:flex;width:100%;justify-content:space-between;border:0;min-height:36px}.editor-body{display:grid;grid-template-columns:48px 264px minmax(0,1fr) 304px;min-height:0}.toolrail{display:flex;flex-direction:column;gap:4px;align-items:center;padding-top:8px;border-right:1px solid var(--line);background:var(--surface);z-index:10}.toolrail button{width:40px;height:40px;padding:8px;border:0;min-height:40px}.toolrail button[aria-pressed=true]{background:var(--accent-tint);border-left:2px solid var(--accent);color:var(--accent-text)}.threads-panel,.inspector{background:var(--surface);padding:16px 12px;min-height:0;overflow:auto;z-index:10}.threads-panel{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}.panel-title{font-family:Geist,sans-serif;font-size:14px;font-weight:600;margin:0 0 16px}.threads-panel input{min-height:32px;font-size:13px;margin-bottom:12px}.thread-row{position:relative;width:100%;height:36px;min-height:36px;padding:4px;display:grid;grid-template-columns:24px 42px 1fr 20px 42px;border:0;border-bottom:1px solid var(--line);font-size:12px;text-align:left;gap:4px}.thread-row[aria-selected=true]{background:var(--accent-tint);box-shadow:inset 2px 0 var(--accent)}.thread-row .thread-name{font-family:Geist,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row .thread-stat{display:flex;flex-direction:column;line-height:14px;text-align:right;font-family:Geist Mono,monospace}.thread-row .thread-symbol{font-family:Chart Symbols,Atkinson Hyperlegible Mono,monospace;font-size:16px}.thread-controls{display:flex;gap:8px;margin-top:16px}.thread-controls button{flex:1;font-size:12px;padding:6px}.canvas-area{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.canvas-area>.toast{position:static;align-self:flex-end;flex-shrink:0;max-width:calc(100% - 24px);margin:8px 12px;white-space:normal}.canvas-toolbar{height:auto;min-height:36px;display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;border-bottom:1px solid var(--line);padding:2px 6px;background:var(--surface);z-index:10}.canvas-view-modes,.canvas-view-options{display:flex;align-items:center;gap:4px}.canvas-view-options{flex:1}.canvas-toolbar button{font-size:12px;padding:4px 6px;min-height:28px;border:0;flex-shrink:0}.canvas-toolbar button[aria-pressed=true]{background:var(--accent-tint);color:var(--accent-text)}.canvas-toolbar .zoom-value{font-size:12px;margin-left:auto}.viewport{position:relative;flex:1;min-height:0;overflow:hidden}.viewport>canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.canvas-empty{position:absolute;inset:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;pointer-events:none;gap:16px}.canvas-empty button,.canvas-empty input{pointer-events:auto}.canvas-empty h2{font-size:22px;max-width:24ch;margin:0}.canvas-empty p{max-width:36ch}.canvas-empty .actions{justify-content:center}.canvas-empty .empty-art{width:192px;height:128px}.inspector-tabs{display:flex;border-bottom:1px solid var(--line);margin:-4px -4px 20px}.inspector-tabs button{border:0;font-size:13px;flex:1;padding:8px;min-height:36px}.inspector-tabs button[aria-selected=true]{border-bottom:2px solid var(--accent)}.inspector label{font-size:13px;margin-top:16px}.inspector input,.inspector select{font-size:14px;min-height:36px}.inspector .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inspector .primary{width:100%;margin-top:20px}.inspector .notice{font-size:12px;color:var(--ink-2);line-height:1.5;margin-top:12px}.inspector .dirty{font-size:13px;color:var(--accent-text);margin-top:12px}.statusbar{display:flex;align-items:center;gap:16px;padding:0 12px;border-top:1px solid var(--line);font:12px Geist Mono,monospace;background:var(--surface);overflow:hidden;white-space:nowrap}.statusbar>span:empty{display:none}.statusbar>span{flex-shrink:0}.statusbar>span:before{content:var(--status-divider, none);color:var(--ink-3);margin-right:16px}@media(min-width:1024px){.statusbar>span:not([hidden],:empty)~span:not([hidden],:empty){--status-divider: "|"}}@media(min-width:768px)and (max-width:1023px){.statusbar>span:not(.extra,[hidden],:empty)~span:not(.extra,[hidden],:empty){--status-divider: "|"}}@media(max-width:767px){.statusbar>span:not(.coordinates,.extra,[hidden],:empty)~span:not(.coordinates,.extra,[hidden],:empty){--status-divider: "|"}}.statusbar .save-state{margin-left:auto}.mobile-notice,.mobile-panel-toggle{display:none}.progress-panel{position:absolute;inset:0;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;z-index:10}.progress-panel ol{padding:0;list-style:none;font-size:14px}.progress-panel li{color:var(--ink-3);margin:8px 0}.progress-panel li.active{color:var(--ink);font-weight:600}.progress-panel canvas{height:16px;max-width:100%}.progress-panel progress{width:100%}.progress-panel h2{font-size:22px}.shortcut-list{display:grid;grid-template-columns:1fr auto;gap:8px 24px;font-size:14px;max-height:55vh;overflow:auto}.command-list{max-height:50vh;overflow:auto;margin-top:16px}#command-dialog{width:min(520px,calc(100vw - 32px))}.command-list button{width:100%;display:flex;justify-content:space-between;border:0}.export-limits{font-size:12px;color:var(--ink-2);max-width:45ch}.drawer-close{display:none}.editor-error{position:absolute;bottom:16px;left:16px;right:16px;padding:16px;background:var(--surface);border:1px solid var(--danger);z-index:10}.compare-control{position:absolute;bottom:16px;left:20%;width:60%;background:var(--surface);padding:8px 12px;border:1px solid var(--line)}@media(min-width:1024px)and (max-width:1279px){.editor-body{grid-template-columns:48px 220px minmax(0,1fr) 280px}.editor-topbar .search-command{display:none}}@media(max-width:1023px){.editor-body{grid-template-columns:1fr;position:relative;padding-bottom:52px}.threads-panel,.inspector{position:absolute;top:0;bottom:52px;width:280px;display:none;border:1px solid var(--line-strong);box-shadow:2px 2px 0 var(--line-strong);z-index:30}.threads-panel{left:0}.inspector{right:0}.threads-panel.open,.inspector.open{display:block}.toolrail{position:absolute;bottom:0;left:0;right:0;height:52px;flex-direction:row;justify-content:flex-start;overflow-x:auto;padding:3px 4px;border-top:1px solid var(--line)}.toolrail button{flex-shrink:0;width:44px;height:44px}.toolrail button[data-action=threads]{width:auto;min-width:56px}.mobile-panel-toggle,.drawer-close{display:inline-flex}.drawer-close{float:right}.editor-topbar .editor-menu,.search-command{display:none}.editor-topbar input{width:180px}.statusbar{gap:8px}.statusbar>span:before{margin-right:8px}.statusbar .extra{display:none}}@media(max-width:767px){.editor-shell{min-height:640px;grid-template-rows:52px 1fr 28px}.editor-topbar{padding:0 8px;gap:4px}.editor-topbar input{width:132px;min-width:0;font-size:13px}.editor-topbar button{min-height:44px}.editor-topbar .home-logo{display:none}.editor-topbar .primary{font-size:12px;padding:4px 8px}.canvas-toolbar button{min-height:44px;min-width:44px}.canvas-toolbar{padding:4px 8px;gap:4px}.canvas-view-options [data-action=fit]{margin-left:auto}.canvas-toolbar .zoom-value{display:none}.mobile-notice{display:block;font-size:12px;padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--line);margin:0}.toolrail button[data-edit-only]{display:none}.toolrail button{width:44px;height:44px}.toolrail{height:52px;padding-block:3px}.editor-body{padding-bottom:52px}.inspector,.threads-panel{bottom:52px;width:min(304px,90vw)}.inspector button,.inspector input,.inspector select{min-height:44px}.statusbar{overflow-x:auto;font-size:12px;padding:0 8px}.statusbar .coordinates{display:none}.canvas-empty{inset:16px}.canvas-empty h2{font-size:22px}.canvas-empty .small{font-size:13px}.canvas-empty .empty-art{width:192px;height:128px}.thread-row{height:48px;min-height:48px}}.canvas-empty .empty-art{height:144px}.canvas-empty .empty-art img{display:block;width:192px;height:144px}.blank-guide{position:absolute;left:16px;bottom:16px;max-width:300px;display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--line);pointer-events:none}.blank-guide p{margin:0;font-size:13px;color:var(--ink-2)}.blank-guide img{flex:none}@media(max-width:767px){.blank-guide{max-width:calc(100% - 32px);bottom:12px}}.inspector textarea{width:100%;min-height:72px;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);padding:8px;font:inherit;resize:vertical}.inspector-tabs button{min-width:0;padding-inline:8px}#tab-Stitch .actions{gap:8px;flex-wrap:wrap;margin-block:12px}#tab-Stitch h3{font-size:16px;margin-top:24px}#version-comparison>div{border-block-start:1px solid var(--line);padding-block:16px}#version-comparison canvas{max-width:100%;height:auto;image-rendering:pixelated}#version-comparison p{font-size:13px;line-height:1.5}#versions-dialog{width:min(1120px,94vw);max-width:1120px}#version-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}#version-comparison>.notice{grid-column:1/-1}@media(max-width:767px){#version-comparison{grid-template-columns:1fr}#version-comparison canvas{width:100%;max-width:320px}}.thread-controls{flex-wrap:wrap;gap:4px}.thread-controls button[aria-pressed=true]{background:var(--accent-tint);color:var(--ink);border-color:var(--accent)}.threads-panel{display:flex;flex-direction:column;overflow:hidden}.threads-panel>*{flex-shrink:0}#thread-list{flex:1;overflow-y:auto;min-height:0}.thread-controls{display:block;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.thread-controls p{margin:0 0 8px;font-size:12px;color:var(--ink-2)}.thread-actions{display:flex;flex-wrap:wrap;gap:4px}.thread-actions button{padding:4px 6px;font-size:12px}.zoom-controls{position:absolute;right:12px;bottom:12px;z-index:10;display:flex;align-items:center;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:2px 2px 0 var(--line-strong)}.zoom-controls button{padding:4px 8px;min-width:32px}.zoom-value{display:flex;align-items:center;margin:0;font-size:12px}#zoom-percent{width:58px;min-height:32px;padding:4px;font-size:12px}@media(max-width:767px){.zoom-controls button{min-width:44px;min-height:44px}.zoom-controls{right:8px;bottom:8px}}@media(min-width:1024px){.editor-shell[data-rail=labels] .editor-body{grid-template-columns:148px 264px minmax(0,1fr) 304px}.editor-shell[data-rail=labels] .toolrail button:not(.mobile-panel-toggle){width:140px;display:flex;align-items:center;gap:4px;text-align:left}.editor-shell[data-rail=labels] .toolrail .tool-label{display:inline;font-size:13px}.editor-shell[data-rail=labels] .toolrail kbd{display:inline;margin-left:auto;font-size:12px;color:var(--ink-3)}.editor-shell[data-rail=labels] .toolrail .rail-toggle{font-size:12px;justify-content:center}}.toolrail .tool-label,.toolrail kbd{display:none}.toolrail [data-tool=Brush]{margin-top:8px;border-top:1px solid var(--line)}.toolrail svg{flex-shrink:0}.toolrail .rail-toggle{margin-top:auto;margin-bottom:8px;font-size:10px;padding:2px;height:auto}.tool-tip{position:fixed;width:258px;padding:8px;z-index:30;background:var(--surface);border:1px solid var(--line-strong);box-shadow:2px 2px 0 var(--line-strong)}.tool-tip strong{display:flex;justify-content:space-between;align-items:center}.tool-tip p{font-size:13px;line-height:1.5;margin:8px 0}.tool-tip img{display:block;width:240px;height:150px;image-rendering:pixelated}@media(min-width:1024px)and (max-width:1279px){.editor-shell[data-rail=labels] .editor-body{grid-template-columns:148px 240px minmax(0,1fr) 280px}}@media(max-width:1023px){.toolrail [data-tool=Brush]{margin-top:0;margin-left:8px;border-top:0;border-left:1px solid var(--line)}.toolrail .rail-toggle{display:none}}@media(max-width:767px){.toolrail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;width:64px}.toolrail .tool-label{display:block;font-size:10px;line-height:12px}}@media(min-width:1024px){.editor-shell .editor-body{grid-template-columns:48px 320px minmax(0,1fr) 304px}.editor-shell[data-rail=labels] .editor-body{grid-template-columns:148px 320px minmax(0,1fr) 304px}}@media(min-width:1024px)and (max-width:1279px){.editor-shell .editor-body{grid-template-columns:48px 320px minmax(0,1fr) 280px}.editor-shell[data-rail=labels] .editor-body{grid-template-columns:148px 320px minmax(0,1fr) 280px}}.thread-actions button{flex:0 1 auto}.thread-row,.thread-columns{grid-template-columns:32px 40px minmax(0,1fr) 48px 64px;align-items:center}.thread-row{height:44px;min-height:44px}.thread-row .mono{font-size:12px;white-space:nowrap;line-height:14px}.thread-heading{position:relative;padding-top:32px;border-bottom:1px solid var(--line-strong)}.thread-heading>button{position:absolute;top:0;right:0;width:32px;min-height:32px;padding:4px}.thread-columns{display:grid;gap:4px;padding:8px 4px;font-size:12px;color:var(--ink-2)}.thread-columns>:last-child{text-align:right}.thread-row .thread-symbol{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line-strong);background:var(--fabric-0);color:var(--ink)}.thread-total{margin:0;padding:12px 0 0;border-top:1px solid var(--line);font-size:12px;color:var(--ink-2)}.thread-legend{padding:12px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:2px 2px 0 var(--line-strong);max-height:220px;overflow:auto;font-size:12px}.thread-legend p{margin:0 0 8px}.thread-tip{position:fixed;z-index:30;width:min(300px,calc(100vw - 16px));padding:12px;font-size:13px;line-height:1.5;background:var(--surface);border:1px solid var(--line-strong);box-shadow:2px 2px 0 var(--line-strong);pointer-events:none}html[lang=ja] .editor-shell,html[lang=ja] .editor-shell h1,html[lang=ja] .editor-shell h2,html[lang=ja] .editor-shell button,html[lang=ja] .editor-shell input,html[lang=ja] .editor-shell select{font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif}#ui-language{width:144px;min-width:0;min-height:32px;padding:4px;font-size:12px}@media(min-width:1024px){.editor-shell[data-rail=labels] .toolrail button:not(.mobile-panel-toggle){padding-inline:4px}}@media(max-width:767px){.editor-shell{grid-template-rows:96px 1fr 28px}.editor-topbar{flex-wrap:wrap;align-content:center}.editor-topbar .spacer{display:none}#pattern-name{flex:1;width:calc(100% - 156px)}#ui-language{order:-1;width:144px;min-height:44px}#pattern-name{order:-2}.editor-topbar .export-main{margin-left:auto}}@media(max-width:1023px){.threads-panel{width:min(320px,100%);display:none}.threads-panel.open{display:flex}}@media(max-width:767px){.editor-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto 144px;grid-template-rows:44px 44px;gap:4px}#pattern-name{grid-column:1 / 3;grid-row:1;width:100%;order:initial}#ui-language{grid-column:3;grid-row:1;order:initial}.editor-topbar>.mobile-panel-toggle{grid-column:1;grid-row:2}.editor-topbar .export-main{grid-column:2;grid-row:2;margin-left:0}.editor-topbar>[data-action=more]{grid-column:3;grid-row:2;justify-self:end}}[data-theme=dark] .thread-row .thread-symbol{background:var(--ink);color:var(--button-ink)}.canvas-view-options label{display:inline-flex;align-items:center;gap:4px;min-height:32px;margin:0;padding:2px 6px;border:1px solid transparent;white-space:nowrap;font-size:12px;cursor:pointer}.canvas-view-options label:hover{background:var(--fabric-1)}.canvas-view-options label:has(input:checked){background:var(--accent-tint);color:var(--accent-text)}.canvas-view-options{flex-wrap:wrap}.canvas-toolbar{align-content:start}.canvas-view-modes{flex-basis:100%}.canvas-view-modes button{min-height:32px}#thread-selection-status{min-height:54px;line-height:18px}.thread-total{min-height:49px;line-height:18px}.thread-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.toolrail .rail-toggle,.toolrail .rail-toggle[aria-pressed=true]{background:transparent;border:1px solid var(--line);color:var(--ink-2);box-shadow:none}.toolrail .rail-toggle:hover{background:var(--fabric-1)}@media(max-width:767px){.canvas-view-options label,.canvas-view-modes button{min-height:44px}}.canvas-view-options input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:0;accent-color:var(--accent);flex:none}.canvas-toolbar{flex-wrap:wrap;height:auto;min-height:36px}#export-dialog{width:min(640px,calc(100vw - 32px))}.pdf-purposes{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pdf-purposes legend{margin-bottom:8px;font-size:14px}.pdf-purposes label{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px;border:1px solid var(--line-strong);cursor:pointer}.pdf-purposes label:has(input:checked){background:var(--accent-tint);border-color:var(--accent)}.pdf-purposes input{width:16px;height:16px;margin:3px 0;accent-color:var(--accent);flex-shrink:0}.pdf-purposes small{display:block;font-size:13px;color:var(--ink-2);margin-top:4px}.pdf-advanced{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:16px}.pdf-advanced summary{cursor:pointer}.pdf-option-grid{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:8px 16px;margin:16px 0}.pdf-option-grid label{margin:0}@media(max-width:480px){.pdf-purposes{grid-template-columns:1fr}}
