:root{color-scheme:light;--paper:#f7f5ee;--surface:#fffefa;--ink:#20221c;--muted:#686c5f;--line:#d9dacf;--green:#c6eea0;--green2:#b8e888;--dark:#222820;--mono:Consolas,"Courier New",monospace;--shadow:0 2px 0 #24261e0d;font-family:system-ui,"Yu Gothic UI","Hiragino Sans","Meiryo",sans-serif;color:var(--ink);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:5px;min-height:36px;font-size:.81rem;font-weight:700;touch-action:manipulation}button:not(:disabled):hover{border-color:#818775;background:#f2f5e9}button:disabled{opacity:.4;cursor:default}button.active,button[aria-pressed=true].active{background:var(--green);border-color:var(--ink);color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #58833c;outline-offset:2px}button svg,[data-icon] svg{display:block;width:17px;height:17px;flex:none}button [data-icon]{display:inline-grid;place-items:center;vertical-align:middle}[hidden]{display:none!important}.eyebrow,small,.panel-caption,.index,.stage-tag,.stage-dims,.stage-coord{font-family:var(--mono)}.topbar{min-height:74px;padding:12px clamp(14px,2.25vw,36px);display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;background:var(--surface);border-bottom:1px solid #d6d9ca}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ink);background:var(--green);border-radius:7px;box-shadow:2px 2px 0 var(--ink)}.brand-icon svg{width:24px;height:24px}.brand h1{font-size:1.14rem;line-height:1.15;letter-spacing:.035em;margin:0 0 4px;font-weight:850}.eyebrow{font-size:.62rem;letter-spacing:.1em;color:var(--muted);line-height:1.15}.mode-switch,.view-tabs{display:flex;align-items:center;gap:3px;background:#eeefe6;border:1px solid var(--line);border-radius:7px;padding:3px;white-space:nowrap}.mode-switch button,.view-tabs button,.view-tabs>span{display:flex;align-items:center;gap:6px;border-color:transparent;background:transparent;min-height:32px;padding:0 12px}.file-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.action{display:flex;gap:6px;align-items:center;justify-content:center;white-space:nowrap;padding:0 9px}.action.primary{background:var(--ink);color:#f5f7ee;border-color:var(--ink);padding:0 12px}.action.primary:hover{background:#3d4934;color:#fff}
.workspace{max-width:1640px;margin:auto;display:grid;grid-template-columns:minmax(195px,228px) minmax(330px,1fr) minmax(225px,270px);gap:18px;padding:20px clamp(14px,2.25vw,36px) 12px;align-items:start}.tools-panel,.inspector{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0;padding:14px}.panel-heading{display:flex;align-items:center;gap:8px;padding-bottom:11px;border-bottom:1px solid var(--line)}.panel-heading.second{margin-top:18px}.index{display:grid;place-items:center;border-radius:4px;background:#ecf2e3;border:1px solid #dce3d4;color:#48603b;width:24px;height:22px;font-size:.65rem;font-weight:700}.panel-heading h2{font-size:.91rem;margin:0;white-space:nowrap}.panel-caption{font-size:.6rem;letter-spacing:.08em;color:var(--muted);margin-left:auto}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.tool{display:flex;align-items:center;text-align:left;gap:7px;padding:0 6px 0 8px;white-space:nowrap;min-height:42px}.tool kbd{font:600 .63rem var(--mono);margin-left:auto;color:#6d7363}.history{display:flex;gap:6px;margin-top:8px}.history button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;white-space:nowrap;font-size:.75rem}.color-card{display:flex;align-items:center;gap:8px;padding:7px;margin-top:12px;border:1px solid var(--line);border-radius:5px;background:#f8f8f0}.color-card>div{flex:1;min-width:0}.color-card label{display:block;color:var(--muted);font-size:.64rem;line-height:1}.color-card>[data-icon]{color:#777e6a}.color-card input[type=color]{width:35px;height:35px;padding:0;border:1px solid var(--ink);border-radius:4px;cursor:pointer;background:none;flex:none}.color-card input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-card input[type=color]::-webkit-color-swatch,.color-card input[type=color]::-moz-color-swatch{border:0;border-radius:3px}.color-card input[type=text]{font:700 .86rem var(--mono);border:0;background:none;width:100%;padding:4px 0 0;color:var(--ink)}.slider-label,.sub-label{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;font-weight:750;margin:14px 0 6px;gap:5px}.slider-label output,.sub-label small{font:.65rem var(--mono);color:var(--muted);letter-spacing:.04em}.sub-label.first{margin-top:11px}input[type=range]{display:block;accent-color:#648a4c;width:100%;margin:0}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.swatch{min-height:0;aspect-ratio:1;border:1px solid #20221c30;border-radius:3px;background:var(--swatch)}.swatch:not(:disabled):hover{background:var(--swatch);outline:1px solid var(--ink);outline-offset:1px}.swatch.active{background:var(--swatch);outline:1px solid var(--ink);outline-offset:1px}.recent:empty::after{content:"描いた色や吸った色を表示";font-size:.66rem;color:var(--muted);grid-column:1/-1;padding:4px 0 2px}
.workbench{display:grid;gap:10px;min-width:0}.work-title{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:49px}.work-id{display:flex;align-items:center;min-width:0;gap:9px}.file-icon{display:grid;place-items:center;width:34px;height:38px;border:1px solid var(--line);border-radius:5px;background:#fcfcf5;flex:none}.work-id .eyebrow{display:block;font-size:.63rem}.work-id input{display:block;width:min(26ch,100%);background:transparent;border:0;font-size:1.13rem;line-height:1.4;font-weight:820;color:var(--ink);padding:1px 0 0}.view-tabs button,.view-tabs>span{font-size:.73rem;padding:0 9px}.view-tabs svg{width:14px;height:14px}
.stage{position:relative;min-width:0;height:clamp(365px,calc(100dvh - 244px),750px);overflow:hidden;border:1px solid #202820;border-radius:8px;background:radial-gradient(ellipse at 50% 42%,#363e33 0, #262d25 57%,#20251f 100%);box-shadow:0 3px 0 #1b221a24;isolation:isolate}.stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(#d4f6c10b 1px,transparent 1px),linear-gradient(90deg,#d4f6c10b 1px,transparent 1px);background-position:center;background-size:26px 26px;mask-image:radial-gradient(ellipse,#000 28%,transparent 98%)}.stage::after{content:"";position:absolute;pointer-events:none;z-index:-1;left:23%;right:23%;bottom:12%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#080d0870 0%,#10180f20 52%,transparent 72%);opacity:.8}.stage.flat::after{display:none}#preview,.flat-wrap{width:100%;height:100%;display:block}.stage canvas,.face-preview canvas{touch-action:none}.flat-wrap{display:grid;place-items:center;overflow:hidden;padding:46px 25px}.flat-wrap canvas,.face-preview canvas{display:block;image-rendering:pixelated;border:1px solid #a9ad9d;box-shadow:0 0 0 3px #12171155}.stage-tag,.stage-dims,.stage-coord{position:absolute;pointer-events:none;z-index:1;color:#d6e1cd;font-size:.66rem;letter-spacing:.11em}.stage-tag{top:16px;left:15px;display:flex;align-items:center;gap:7px;font-weight:700}.stage-tag b,.workspace-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b8e888;box-shadow:0 0 10px #b8e88850}.stage-dims{top:16px;right:15px}.stage-coord{right:15px;bottom:17px}.stage-orient,.zoom{position:absolute;display:flex;z-index:2;gap:4px}.stage-orient{right:12px;bottom:49px}.zoom{left:12px;bottom:12px}.stage-orient button,.zoom button{min-height:31px;min-width:31px;color:#dce9d1;border-color:#525f4d;background:#242c23;line-height:1}.stage-orient button:hover,.zoom button:hover{color:#20221c}.zoom button:nth-child(2){font:700 .73rem var(--mono);min-width:52px}.stage-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:36px;flex-wrap:wrap}.toggles{display:flex;gap:5px;flex-wrap:wrap}.toggles button{display:flex;align-items:center;gap:5px;white-space:nowrap;padding:0 7px;min-height:33px;font-size:.72rem}.toggles svg{width:14px;height:14px}.toggles #target-paint{background:var(--green);border-color:var(--ink);min-width:57px;justify-content:center;touch-action:none}#stage-help{font-size:.67rem;color:var(--muted);white-space:normal}.workspace-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:.66rem;border-top:1px solid var(--line);padding-top:4px}.workspace-footer>span,.workspace-footer button{display:flex;align-items:center;gap:6px}.workspace-footer i{background:#739858;width:6px;height:6px}.workspace-footer button{background:none;border-color:transparent;min-height:29px;color:var(--muted);padding:0 3px}.workspace-footer svg{width:14px;height:14px}
.segments{display:grid;grid-template-columns:1fr 1fr;gap:5px}.segments button{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 6px;min-height:38px;padding:3px}.segments small{font-size:.62rem;color:var(--muted)}.layer-list{display:grid;gap:4px}.layer{width:100%;display:flex;align-items:center;gap:7px;padding:0 7px;text-align:left;font-size:.75rem;min-height:34px;min-width:0}.layer b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer small{margin-left:auto;color:var(--muted);font-size:.65rem}.outer-row{display:grid;grid-template-columns:minmax(0,1fr) 35px;gap:4px}.outer-row>button:last-child{min-height:34px;padding:0}.parts,.faces{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.parts button,.faces button{font-size:.73rem;min-height:32px;white-space:nowrap;padding:0 4px}.face-preview{min-height:128px;margin-top:7px;padding:11px;display:grid;justify-items:center;align-content:center;gap:7px;border:1px solid #e2e5d8;border-radius:5px;background:#eef0e6}.face-preview canvas{max-width:100%;box-shadow:0 0 0 2px #1a241a14}.face-preview span{font-size:.68rem;color:var(--muted)}.setting-row{display:flex;gap:6px}.setting-row select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:4px 6px;color:var(--ink)}.setting-row button{white-space:nowrap}.sub-label>button{min-height:26px;padding:0 4px}.dot-layer-row{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;gap:3px}.dot-layer-row button:not(.layer){min-width:0;padding:0}
dialog{border:1px solid var(--ink);border-radius:9px;color:var(--ink);background:var(--surface);width:min(450px,calc(100vw - 26px));max-height:calc(100dvh - 40px);padding:16px 19px 19px;box-shadow:4px 5px 0 #1e231a7a}dialog::backdrop{background:#21271d85}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:12px}.dialog-header h2{font-size:1.1rem;margin:0}.dialog-header button{min-height:31px;min-width:32px;font-size:1.1rem}.dialog-options,.saved-list{display:grid;gap:6px}.dialog-options button{text-align:left;padding:0 9px}.dialog-options select{padding:6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px}.dialog-options p,#dialog-content>p{font-size:.82rem;line-height:1.6;margin:7px 0}.saved-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:5px}.saved-row button:first-child{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 7px;text-align:left}.saved-row canvas{width:32px;height:32px;image-rendering:pixelated;background:#e9ecdf}.saved-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-row small{margin-left:auto;color:var(--muted);font-size:.67rem}#toast{position:fixed;z-index:10;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#20251d;color:#fff;padding:9px 14px;border:1px solid #b8e8886e;border-radius:5px;font-size:.8rem;transition:opacity .17s,transform .17s;max-width:calc(100vw - 30px);text-align:center}#toast.on{transform:translate(-50%,0);opacity:1}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(175px,190px) minmax(300px,1fr) minmax(188px,220px);gap:12px}.tools-panel,.inspector{padding:11px}.tool{gap:4px;padding:0 5px}.topbar{gap:10px}.action{padding:0 7px}}
@media(max-width:850px){.workspace{grid-template-columns:minmax(0,1fr) minmax(195px,235px)}.tools-panel{grid-column:2;grid-row:1}.workbench{grid-column:1;grid-row:1 / span 2}.inspector{grid-column:2;grid-row:2}.stage{height:clamp(345px,calc(100dvh - 255px),580px)}.action-label{display:none}.file-actions .action:not(.primary){min-width:34px}}
@media(max-width:600px){.topbar{padding:9px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));gap:8px;grid-template-columns:1fr auto}.brand-icon{width:33px;height:33px}.brand-icon svg{width:20px;height:20px}.brand h1{font-size:.97rem}.brand .eyebrow{font-size:.53rem;letter-spacing:.04em}.mode-switch{grid-row:2;grid-column:1/-1;justify-content:center;justify-self:stretch}.mode-switch button{justify-content:center;flex:1;min-height:34px}.file-actions{gap:4px}.file-actions .action{min-height:36px;padding:0 4px}.file-actions .action:not(.primary){min-width:29px}.file-actions .action.primary{padding:0 7px;font-size:.72rem}.file-actions svg{width:14px;height:14px}.workspace{padding:9px 9px calc(13px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.workbench{grid-column:1/-1;grid-row:1;gap:6px}.tools-panel{grid-row:2;grid-column:1;padding:8px}.inspector{grid-row:2;grid-column:2;padding:8px}.stage{height:clamp(290px,50dvh,450px)}.work-title{min-height:42px;gap:4px}.view-tabs button{padding:0 6px}.work-id input{font-size:.98rem}.work-id{gap:5px}.stage-tools{gap:3px}.toggles button{min-height:39px}.tool{min-height:40px}.tool kbd{display:none}.tool{font-size:.69rem}.tool svg{width:14px;height:14px}.panel-caption{display:none}.stage-tag,.stage-dims,.stage-coord{font-size:.57rem}.slider-label,.sub-label{font-size:.67rem}.sub-label small{font-size:.56rem}.segments small{font-size:.55rem}.parts button,.faces button{min-height:36px}.swatches{grid-template-columns:repeat(6,1fr);gap:3px}.history button{font-size:.66rem;gap:3px}}
@media(max-width:350px){.panel-heading h2{font-size:.8rem}.file-actions .action.primary>span[data-icon]{display:none}.work-id .file-icon{display:none}.view-tabs button{padding:0 4px;font-size:.67rem}.tools-grid{gap:4px}.tool{padding:0 3px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.footer-actions{display:flex;align-items:center;gap:10px}.footer-actions #cloud[data-state=connected]{color:#3e6930}.parts{grid-template-columns:1fr 1fr;gap:5px}.part-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:3px;min-width:0}.part-row>button:last-child{padding:0;display:grid;place-items:center}.part-row>button:last-child svg{width:14px;height:14px}.part-row.part-hidden>button:first-child:not(.active){color:#777a6c;background:#f0f0e7}.part-row.part-hidden>button:last-child{color:#777a6c;background:#f0f0e7}.flat-wrap{grid-template: minmax(0,1fr)/minmax(0,1fr)}.flat-wrap canvas{max-width:none;max-height:none}.target-cross{position:absolute;z-index:1;width:1px;height:1px;pointer-events:none;box-shadow:0 0 0 3px #152313,0 0 0 4px #c6eea0}.target-cross::before,.target-cross::after{content:"";position:absolute;background:#e0f9ce;filter:drop-shadow(0 0 1px #132114);opacity:.88}.target-cross::before{width:1600px;height:1px;left:-800px;background:repeating-linear-gradient(90deg,#def2cd 0 3px,transparent 3px 7px)}.target-cross::after{width:1px;height:1600px;top:-800px;background:repeating-linear-gradient(#def2cd 0 3px,transparent 3px 7px)}
@media(max-width:600px){.tools-panel{grid-column:1/-1;grid-row:2}.inspector{grid-column:1/-1;grid-row:3}.tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tool{justify-content:center;min-height:44px;gap:5px;font-size:.77rem}.tools-panel,.inspector{padding:10px}.panel-heading.second{margin-top:13px}.swatches{grid-template-columns:repeat(12,1fr)}.parts{grid-template-columns:repeat(3,minmax(0,1fr))}.part-row{grid-template-columns:minmax(0,1fr) 34px}.part-row>button{min-height:41px}.toggles #target-paint{min-width:67px;min-height:43px}.stage-tools{align-items:center}.footer-actions button{min-height:38px}}
@media(max-width:350px){.brand .eyebrow{display:none}.topbar{grid-template-columns:minmax(0,1fr) auto}.brand{gap:6px}.brand h1{font-size:.89rem}.brand-icon{width:28px;height:28px}.file-actions .action:not(.primary){min-width:26px}.action.primary{letter-spacing:-.02em}.toggles button{padding-inline:5px}.toggles #target-paint{min-width:54px}}
.mobile-panel{display:none}
@media(max-width:600px){.mobile-panel{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mobile-panel button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px}.workspace[data-panel=tools] .inspector,.workspace[data-panel=settings] .tools-panel{display:none}.workspace .tools-panel,.workspace .inspector{grid-row:2}.stage{height:clamp(280px,44dvh,410px)}}
