:root{--bg:#f4f3f0;--surface:#fff;--surface-2:#f0efeb;--border:#dcd9d2;--text:#22211f;--text-muted:#6b6862;--accent:#2f5d50;--accent-text:#fff;--accent-soft:#dfeae5;--stage:#e3e1dc;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161716;--surface:#202221;--surface-2:#2a2c2b;--border:#3a3d3b;--text:#e9e8e4;--text-muted:#a3a19b;--accent:#7fb8a6;--accent-text:#0f1a16;--accent-soft:#24352f;--stage:#0f100f;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;font-size:14px;line-height:1.5}[hidden]{display:none!important}.app-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 8px;display:flex}.lang-switch{flex:none;font-size:12px}.app-header h1{letter-spacing:.02em;margin:0;font-size:20px}.lead{color:var(--text-muted);margin:4px 0 0}.layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;padding:12px 24px 32px;display:grid}.preview-pane{min-width:0;position:sticky;top:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.source-info{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.stage{background:var(--stage);border-radius:var(--radius);outline-offset:-8px;outline:2px dashed #0000;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;height:calc(100vh - 190px);min-height:360px;padding:16px;transition:outline-color .15s;display:grid;position:relative;overflow:hidden}.stage.dragging{outline-color:var(--accent)}.stage canvas{max-width:100%;max-height:100%;box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;display:block}.stage canvas.dragging{cursor:grabbing!important}.stage.actual{place-items:start center;overflow:auto}.stage.actual canvas{max-width:none;max-height:none;image-rendering:pixelated}.drop-hint{background:var(--surface);width:fit-content;max-width:calc(100% - 32px);color:var(--text);box-shadow:var(--shadow);text-align:center;pointer-events:none;border-radius:8px;margin:0 auto;padding:10px 16px;position:absolute;inset:auto 0 32px}.drop-hint small{color:var(--text-muted);display:block}.hint{color:var(--text-muted);margin:8px 0 0;font-size:12px}.device-view{align-items:center;gap:12px;margin:12px 0 0;display:flex}.device-view canvas{width:72px;height:auto;box-shadow:var(--shadow);background:#fff}.device-view figcaption{color:var(--text-muted);font-size:12px}.controls{flex-direction:column;gap:12px;min-width:0;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card h2,.card summary{margin:0 0 10px;font-size:15px;font-weight:700}.card summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.card summary:after{content:"▾";color:var(--text-muted);transition:transform .15s}.card:not([open]) summary{margin-bottom:0}.card:not([open]) summary:after{transform:rotate(-90deg)}.card summary::-webkit-details-marker{display:none}.card h3{border-top:1px solid var(--border);color:var(--text-muted);margin:18px 0 8px;padding-top:12px;font-size:13px;font-weight:600}.field{flex-direction:column;gap:4px;min-width:0;margin:0 0 10px;display:flex}.label{color:var(--text-muted);justify-content:space-between;font-size:12px;display:flex}.label output{color:var(--text);font-variant-numeric:tabular-nums}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.indent{margin-left:22px}.group{min-width:0}select,input[type=text],input[type=number],input[type=month]{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:6px;padding:6px 8px}select:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=range]{width:100%;accent-color:var(--accent)}.check{cursor:pointer;align-items:center;gap:8px;margin:0 0 10px;display:flex}.check input{accent-color:var(--accent);margin:0}.check.small{color:var(--text-muted);margin:0;font-size:12px}.check.strong{font-weight:600}.segmented{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:2px;display:flex}.segmented label{cursor:pointer;flex:1}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{text-align:center;white-space:nowrap;border-radius:6px;padding:5px 8px;display:block}.segmented small{color:var(--text-muted);font-size:11px}.segmented input:checked+span{background:var(--surface);font-weight:600;box-shadow:0 1px 2px #0000001f}.segmented input:focus-visible+span{outline:2px solid var(--accent)}.input-suffix{align-items:center;gap:6px;display:flex}.input-suffix span{color:var(--text-muted)}.button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.button:hover{background:var(--surface-2)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.button.primary:hover{filter:brightness(1.08)}.button.wide{width:100%;margin-top:4px;padding:10px;font-size:15px}.button.small{padding:4px 10px;font-size:12px}.button.icon{padding:6px 8px}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.button-row{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.button-row .button{flex:1}.month-picker{gap:6px;display:flex}.month-picker input{flex:1}.font-file{flex-wrap:wrap;align-items:center;gap:10px;margin:-2px 0 10px;display:flex}.meta{color:var(--text-muted);margin:8px 0 0;font-size:12px}.font-file .meta{margin:0}.footer{text-align:right;margin:4px 0 0}@media (width<=900px){.layout{grid-template-columns:minmax(0,1fr);padding:8px 16px 24px}.app-header{padding:16px 16px 4px}.preview-pane{position:static}.stage{height:70vh}}
