:root{--bg:#111214;--surface:#17181b;--surface-raised:#1d1f23;--surface-soft:#202227;--line:#ffffff16;--line-strong:#ffffff24;--text:#f1f1ee;--muted:#96999f;--quiet:#686b72;--accent:#e7e5de;--ink:#151618;--danger:#ff7c83;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0}button,input,output{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #ffffffb8}.app-shell{background:var(--bg);min-height:100vh}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111214eb;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;height:58px;padding:0 18px;display:grid;position:relative}.brand,.top-actions{align-items:center;gap:10px;display:flex}.brand{letter-spacing:-.01em;font-size:14px;font-weight:600}.top-actions{justify-content:flex-end;min-width:0}.brand-mark{width:28px;height:28px;color:var(--ink);background:var(--accent);letter-spacing:-.05em;border-radius:8px;place-items:center;font-size:10px;font-weight:800;display:grid}.local-badge{border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:10px}.workflow-switch{border:1px solid var(--line);background:#ffffff03;border-radius:10px;gap:3px;padding:3px;display:flex}.workflow-switch button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:11px}.workflow-switch button.active{color:var(--text);background:var(--surface-soft);box-shadow:inset 0 0 0 1px #ffffff09}.file-name{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.save-state{color:var(--quiet);white-space:nowrap;font-size:10px}.ghost-button,.tool-button,.text-button,.details-toggle,.download-button{cursor:pointer;background:0 0;border:0}.ghost-button{color:var(--muted);border-radius:8px;padding:7px 10px;font-size:12px}.ghost-button:hover{color:var(--text);background:var(--surface-raised)}.welcome{background:radial-gradient(circle at 65% 45%, #5f697d14, transparent 32%), var(--bg);grid-template-columns:minmax(280px,470px) minmax(360px,600px);justify-content:center;align-items:center;gap:clamp(46px,8vw,130px);min-height:calc(100vh - 58px);padding:70px 6vw;display:grid}.eyebrow,.section-kicker{color:var(--quiet);letter-spacing:.18em;font-size:10px;font-weight:650}.welcome h1{letter-spacing:-.055em;margin:20px 0 22px;font-size:clamp(42px,4.7vw,64px);font-weight:590;line-height:1.08}.welcome h1 span{white-space:nowrap;display:block}.welcome-copy p{max-width:430px;color:var(--muted);margin:0;font-size:15px;line-height:1.9}.drop-zone{border:1px dashed var(--line-strong);background:#ffffff05;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:390px;transition:all .2s;display:flex}.drop-zone:hover{background:#ffffff07;border-color:#ffffff42}.drop-zone strong{font-size:15px;font-weight:560}.drop-zone>span{color:var(--quiet);font-size:12px}.drop-zone small{color:var(--quiet);margin-top:9px;font-size:10px}.drop-icon{width:52px;height:52px;color:var(--muted);background:var(--surface-raised);border-radius:15px;place-items:center;font-size:23px;display:grid}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:620;transition:background .16s,transform .16s}.primary-button{color:var(--ink);background:var(--accent)}.primary-button:hover{background:#fff}.secondary-button{border-color:var(--line);color:var(--text);background:var(--surface-soft)}.secondary-button:hover{background:#292c31}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.workspace{grid-template-columns:minmax(0,1fr) 390px;height:calc(100vh - 58px);display:grid;overflow:hidden}.canvas-area{background:#0d0e10;grid-template-rows:52px minmax(0,1fr) 34px;min-width:0;display:grid}.canvas-toolbar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.active-edit-indicator{min-width:120px;color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.checker-swatch{border:1px solid var(--line-strong);background-color:#d8d8d8;background-image:linear-gradient(45deg,#b8b8b8 25%,#0000 25%),linear-gradient(-45deg,#b8b8b8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#b8b8b8 75%),linear-gradient(-45deg,#0000 75%,#b8b8b8 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:5px;width:22px;height:22px}.tool-group{border:1px solid var(--line);border-radius:9px;align-items:center;gap:3px;padding:3px;display:flex}.tool-button{color:var(--muted);border-radius:6px;padding:6px 10px;font-size:11px}.tool-button:hover,.tool-button.active{color:var(--text);background:var(--surface-soft)}.pick-button{text-align:right;min-width:120px}.pick-button:hover{background:0 0}.canvas-stage{background-color:#0d0e10;background-image:radial-gradient(#ffffff13 .65px,#0000 .65px);background-size:16px 16px;justify-content:center;align-items:center;min-width:0;min-height:0;padding:30px;display:flex;position:relative;overflow:hidden}.mock-image{aspect-ratio:3/2;background-color:#d8d8d8;background-image:linear-gradient(45deg,#b9b9b9 25%,#0000 25%),linear-gradient(-45deg,#b9b9b9 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#b9b9b9 75%),linear-gradient(-45deg,#0000 75%,#b9b9b9 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;border-radius:3px;place-items:center;width:min(72%,760px);display:grid;position:relative;overflow:hidden;box-shadow:0 26px 80px #00000075}.mock-image.show-original{background:linear-gradient(145deg,#ded8ca 0%,#b9b2a5 100%)}.mock-object{aspect-ratio:.84;background:linear-gradient(160deg,#65696d,#2c2f33 68%,#1b1d20);border-radius:46% 46% 38% 38%/34% 34% 62% 62%;width:31%;position:relative;box-shadow:0 24px 38px #14161857}.mock-object:before{content:"";opacity:.72;background:linear-gradient(160deg,#9ca1a4,#55595d);border-radius:50%;width:64%;height:24%;position:absolute;top:12%;left:18%}.mock-object span{background:#8c9385;border-radius:70% 15% 70% 18%;width:36%;height:42%;position:absolute;bottom:12%;right:13%;transform:rotate(21deg)}.mock-caption{color:#1c1e208a;letter-spacing:.16em;font-size:8px;font-weight:700;position:absolute;bottom:10px;right:12px}.canvas-footer{border-top:1px solid var(--line);color:var(--quiet);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 16px;font-size:10px;display:grid}.canvas-meta{font-variant-numeric:tabular-nums;white-space:nowrap}.canvas-hint{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zoom-controls{align-items:center;gap:2px;display:flex}.zoom-controls button{min-width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 6px;font-size:10px}.zoom-controls button:hover,.zoom-controls button.active{color:var(--text);background:var(--surface-soft)}.zoom-controls output{width:42px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.side-panel{border-left:1px solid var(--line);background:var(--surface);grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid}.panel-scroll{scrollbar-color:var(--surface-soft) transparent;scrollbar-width:thin;overflow-y:auto}.panel-section{border-bottom:1px solid var(--line);padding:20px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading.compact{margin-bottom:8px}.section-heading h2{letter-spacing:-.02em;margin:4px 0 0;font-size:16px;font-weight:590}.field-label{color:var(--muted);margin-bottom:7px;font-size:10px;font-weight:600;display:block}.text-button{color:var(--muted);border-radius:7px;padding:5px 8px;font-size:10px}.text-button:hover{color:var(--text);background:var(--surface-raised)}.color-field{border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:5px;display:grid}.color-field input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:7px;width:32px;height:32px;padding:0;overflow:hidden}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-field input[type=color]::-webkit-color-swatch{border:1px solid var(--line-strong);border-radius:6px}.color-field>span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.color-field button{color:var(--muted);background:var(--surface-soft);cursor:pointer;border:0;border-radius:7px;padding:7px 9px;font-size:10px}.color-field button:hover{color:var(--text);background:#292c31}.control-section{gap:22px;display:grid}.range-field{display:block}.range-field>span,.range-field>small{justify-content:space-between;align-items:center;display:flex}.range-field .field-label{margin:0}.range-field output{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.range-field input{accent-color:#d9d7d0;cursor:pointer;width:100%;margin:9px 0 3px}.range-field small{color:var(--quiet);font-size:9px}.switch-field{cursor:pointer;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:12px;display:grid;position:relative}.switch-field>span:first-child{gap:5px;display:grid}.switch-field strong{font-size:11px;font-weight:600}.switch-field small{color:var(--quiet);font-size:9px;line-height:1.5}.switch-field input{opacity:0;width:1px;height:1px;position:absolute}.switch-control{border:1px solid var(--line-strong);background:var(--surface-soft);border-radius:999px;width:38px;height:22px;position:relative}.switch-control span{background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:3px;left:3px}.switch-field input:checked+.switch-control{border-color:var(--accent);background:var(--accent)}.switch-field input:checked+.switch-control span{background:var(--ink);transform:translate(16px)}.export-section>p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.save-note{color:var(--quiet);align-items:center;gap:7px;margin-top:14px;font-size:9.5px;display:flex}.save-note>span:first-child{border:1px solid var(--line-strong);color:#69c99d;border-radius:50%;place-items:center;width:15px;height:15px;font-size:8px;display:grid}.details-section{border-bottom:1px solid var(--line)}.details-toggle{width:100%;color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;padding:15px 20px;font-size:11px;display:flex}.details-toggle:hover{color:var(--text)}.export-bar{border-top:1px solid var(--line);background:#17181bf5;grid-template-columns:1fr 1.15fr 36px;gap:7px;padding:13px;display:grid}.download-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:9px;font-size:16px}.download-button:hover{color:var(--text);background:var(--surface-soft)}@media (width<=980px){.workspace{grid-template-columns:minmax(0,1fr) 340px}.welcome{grid-template-columns:1fr;gap:44px;max-width:720px;margin:auto}.welcome-copy{text-align:center}.welcome-copy p{margin-inline:auto}.drop-zone{min-height:300px}}@media (width<=760px){.topbar{gap:8px;height:54px;padding-inline:10px}.brand>span:nth-child(2),.file-name,.local-badge,.save-state{display:none}.workflow-switch button{padding-inline:9px}.workspace{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 54px);overflow:visible}.canvas-area{height:64vh;min-height:450px}.side-panel{border-top:1px solid var(--line);border-left:0;min-height:560px}.canvas-toolbar{gap:8px}.active-edit-indicator,.pick-button{min-width:0}.active-edit-indicator>span:last-child{display:none}.canvas-stage{padding:16px}.mock-image{width:min(88%,620px)}.canvas-hint{display:none}.canvas-footer{grid-template-columns:minmax(0,1fr) auto}.welcome{padding:52px 22px}.welcome h1{font-size:41px}.export-bar{z-index:5;position:sticky;bottom:0}}@media (width<=520px){.top-actions .ghost-button:first-of-type{display:none}.welcome{padding-inline:18px}.drop-zone{min-height:280px;padding:34px 18px}.canvas-toolbar{padding-inline:10px}.pick-button{font-size:0}.pick-button:after{content:"色選択";font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
