@import"https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--font-sans: "Noto Sans JP", system-ui, sans-serif;--font-display: "Jost", "Noto Sans JP", system-ui, sans-serif;--font-jp: var(--font-sans);--radius-sm: 6px;--radius: 10px;--radius-lg: 12px;--gap: 12px;--surface-blur: 14px}:root,:root[data-theme=light]{--bg: #fdfdfd;--bg-elev: #f5f6f8;--surface: rgba(255, 255, 255, .72);--surface-border: #dcdee3;--text: #1a1a1c;--text-muted: #5c6470;--text-faint: #9198a3;--accent: #0f5cea;--accent-hover: #0a49bd;--accent-soft: rgba(15, 92, 234, .1);--control: #ffffff;--control-hover: #eceef2;--field-bg: #e9ebef;--shadow: 0 10px 30px rgba(20, 25, 40, .12);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #15171c;--bg-elev: #1b1e24;--surface: rgba(38, 42, 51, .5);--surface-border: rgba(255, 255, 255, .08);--text: #e7e9ee;--text-muted: #9aa0ad;--text-faint: #6b7079;--accent: #5b9bff;--accent-hover: #4a86e8;--accent-soft: rgba(91, 155, 255, .16);--control: rgba(255, 255, 255, .06);--control-hover: rgba(255, 255, 255, .12);--field-bg: rgba(0, 0, 0, .25);--shadow: 0 8px 30px rgba(0, 0, 0, .4);color-scheme:dark}}:root[data-theme=dark]{--bg: #15171c;--bg-elev: #1b1e24;--surface: rgba(38, 42, 51, .5);--surface-border: rgba(255, 255, 255, .08);--text: #e7e9ee;--text-muted: #9aa0ad;--text-faint: #6b7079;--accent: #5b9bff;--accent-hover: #4a86e8;--accent-soft: rgba(91, 155, 255, .16);--control: rgba(255, 255, 255, .06);--control-hover: rgba(255, 255, 255, .12);--field-bg: rgba(0, 0, 0, .25);--shadow: 0 8px 30px rgba(0, 0, 0, .4);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.app{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:hidden}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;height:64px;border-bottom:1px solid var(--surface-border);background:var(--bg-elev)}.header a.back{font-family:var(--font-display);font-weight:400;color:var(--text-muted);text-decoration:none;font-size:15px;justify-self:start;transition:color .15s}.header a.back:hover{color:var(--text)}.header .title{font-family:var(--font-display);font-weight:500;letter-spacing:.04em;font-size:19px;justify-self:center}.header .theme-toggle{justify-self:end;width:38px;height:38px;padding:0;display:grid;place-items:center;font-size:17px;line-height:1}.main{display:grid;grid-template-columns:1fr 360px;min-height:0}.stage{position:relative;display:grid;place-items:center;padding:28px;min-width:0;min-height:0;background:radial-gradient(120% 120% at 50% 0%,rgba(255,255,255,.02),transparent 60%),var(--bg)}.zoom-control{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(var(--surface-blur));backdrop-filter:blur(var(--surface-blur));font-size:12px;color:var(--text-muted)}.zoom-control input[type=range]{width:100px;accent-color:var(--accent)}.zoom-control .zoom-value{min-width:34px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.zoom-control button{padding:3px 8px;font-size:11px}.preview-frame{position:relative;max-width:100%;max-height:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:#000}.preview-frame canvas{display:block;width:100%;height:100%}.preview-lost{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000000b3;color:var(--text-muted);font-size:13px;text-align:center;padding:20px}.panel{border-left:1px solid var(--surface-border);background:var(--bg-elev);overflow-y:auto;scrollbar-gutter:stable;padding:14px 14px 40px;display:flex;flex-direction:column;gap:14px}.section{border:1px solid var(--surface-border);border-radius:var(--radius);padding:12px;background:var(--surface);-webkit-backdrop-filter:blur(var(--surface-blur));backdrop-filter:blur(var(--surface-blur))}.section h2{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-family:var(--font-sans)}.row{display:flex;gap:8px;align-items:center}.row+.row{margin-top:8px}.grow{flex:1}button{font-family:inherit;font-size:13px;color:var(--text);background:var(--control);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;transition:background .14s,border-color .14s}button:hover{background:var(--control-hover)}button.primary{background:var(--accent);border-color:transparent;color:#fff}button.primary:hover{background:var(--accent-hover)}button.ghost{background:transparent}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}input[type=number],input[type=text],select{font-family:inherit;font-size:13px;color:var(--text);background:var(--field-bg);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:6px 8px;width:100%}label.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.slider{display:grid;grid-template-columns:84px 1fr 46px;gap:8px;align-items:center;font-size:12px;color:var(--text-muted)}.slider input[type=range]{width:100%;accent-color:var(--accent)}.slider .val{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.slider+.slider{margin-top:7px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;position:relative}.chip.selected{border-color:#fff;box-shadow:0 0 0 1px #00000080}.chip.add{background:var(--control);color:var(--text-muted);border:1px dashed var(--surface-border);font-size:18px;line-height:1}.seg{display:grid;grid-auto-flow:column;gap:4px;background:var(--field-bg);border-radius:var(--radius-sm);padding:3px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.preset{display:flex;flex-direction:column;gap:5px;padding:5px;min-width:0;text-align:left;background:var(--control);border:1px solid var(--surface-border);border-radius:var(--radius-sm)}.preset:hover{background:var(--control-hover)}.preset-swatch{display:block;height:24px;border-radius:5px;border:1px solid var(--surface-border)}.preset-name{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.color-picker{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:32px;padding:0;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:none;cursor:pointer}.color-picker::-webkit-color-swatch-wrapper{padding:3px}.color-picker::-webkit-color-swatch{border:none;border-radius:3px}.color-picker::-moz-color-swatch{border:none;border-radius:3px}.seg button{padding:5px 8px;font-size:12px;border:none;background:transparent}.seg button.active{background:var(--accent-soft);color:var(--text)}.favs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.fav{position:relative;aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;cursor:pointer;border:1px solid var(--surface-border)}.fav img{width:100%;height:100%;object-fit:cover;display:block}.fav .del{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:4px;background:#0009;color:#fff;border:none;font-size:12px;line-height:1;padding:0;opacity:0;transition:opacity .12s}.fav:hover .del{opacity:1}.hint{font-size:11px;color:var(--text-faint);margin:4px 0 0}textarea.code-box{width:100%;min-height:64px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;color:var(--text);background:var(--field-bg);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:8px;word-break:break-all}.busy{opacity:.6;pointer-events:none}@media(max-width:860px){.main{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto;scrollbar-gutter:stable}.stage{min-height:min(60vh,78vw);padding:16px}.panel{border-left:none;border-top:1px solid var(--surface-border)}}
