:root{font-family:Inter,"Noto Sans JP",system-ui,-apple-system,sans-serif;color:#15272e;background:#eef2f3;font-synthesis:none;font-size:16px;--ink:#102128;--muted:#54676f;--line:#d5dfe2;--accent:#dcf46a}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,.file-button{cursor:pointer;border:1px solid #bdccd1;background:white;border-radius:8px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:650;color:var(--ink)}button:hover:not(:disabled),.file-button:hover{background:#e9eff1}button:disabled{opacity:.43;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.drop:focus-within,.file-button:focus-within{outline:3px solid #297e97;outline-offset:3px}[hidden]{display:none!important}.top{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1080px)/2));gap:12px}.brand{font-size:1.2rem;font-weight:750;letter-spacing:-.04em;text-decoration:none;color:inherit;white-space:nowrap}.brand-line{color:var(--accent);margin:0 10px}.badge{font-size:.75rem;letter-spacing:.07em;color:#cad8dc}.local-chip{border:1px solid #b8c8bc;background:#e6eedb;color:#344d24;border-radius:5px;padding:7px 12px;font-size:.8rem;white-space:nowrap}main{max-width:1128px;margin:auto;padding:36px 24px 20px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:#4d6873;margin:0 0 10px}h1{font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.035em;margin:0 0 10px;line-height:1.4}.intro p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.7}.notice{padding:13px 16px;border:1px solid #c5d1d5;border-left:3px solid #6c8590;background:#e5edef;border-radius:5px;font-size:.875rem;line-height:1.7;margin-bottom:24px}.notice.error{background:#fff0eb;border-color:#d99883;color:#87301d}.notice.good{background:#edf4df;border-color:#9bb769;color:#2b4a23}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 10px #172a3304}.editor{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}h2{font-size:1rem;margin:0;font-weight:750;line-height:1.5}.step{font-size:.75rem;font-weight:700;color:#67808c;margin-right:12px;font-variant-numeric:tabular-nums}.small{color:var(--muted);font-size:.875rem;line-height:1.65;margin:10px 0}.section-head .small{margin:0}.drop{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:168px;border:1.5px dashed #a4b7bf;border-radius:8px;background:#f7fafb;cursor:pointer;text-align:center;padding:20px}.drop:hover,.drop.drag{border-color:#367c90;background:#eef7fa}.drop input,.file-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.drop strong{font-size:1.1rem}.drop span,.drop small{font-size:.875rem;color:var(--muted)}.drop small{font-size:.75rem}.image-controls{margin:24px 0}.image-controls>label,.range-label{font-size:.875rem;font-weight:650}input[type=text]{display:block;width:100%;margin:9px 0 24px;padding:12px;border:1px solid #bacbd2;border-radius:7px;background:#fff}input[type=range]{width:100%;accent-color:#326d7d;min-height:32px;margin:7px 0}.range-label{display:flex;justify-content:space-between}.range-label output{color:var(--muted);font-variant-numeric:tabular-nums}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.text-button{background:transparent;border-color:transparent;padding:8px;color:#375b6b}.preview>.section-head{padding:20px 24px 0;margin-bottom:14px}.segment{display:flex;border:1px solid #ccd8dc;border-radius:6px;padding:2px}.segment button{border:0;min-height:32px;padding:4px 14px;border-radius:4px}.segment button.selected{background:var(--ink);color:white}.preview-stage{margin:0 24px;min-height:232px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background-color:#edf2f3;background-image:linear-gradient(#dce5e799 1px,transparent 1px),linear-gradient(90deg,#dce5e799 1px,transparent 1px);background-size:24px 24px;border-radius:6px}.preview-stage.dark{background-color:#22343e;background-image:linear-gradient(#34465099 1px,transparent 1px),linear-gradient(90deg,#34465099 1px,transparent 1px);color:#dbe6ea}.preview-frame{position:relative;width:128px;height:128px;display:grid;place-items:center}.preview-frame canvas{width:128px;height:128px;position:absolute;inset:0}.preview-frame span{font-size:1.4rem;font-weight:800;line-height:1.2;letter-spacing:.13em;color:#8b9ea8;text-align:center}.preview-caption{font-size:.75rem;font-weight:600;letter-spacing:.07em;opacity:.65}.connection{padding:22px 24px 10px}.connection .section-head{margin-bottom:8px}.connection-status{font-size:.8rem;background:#edf1f2;padding:5px 9px;border-radius:4px;color:#526770}.connection-status.ready{background:#e2efc8;color:#34542a}.connect-button{width:100%;margin-top:6px}.send-area{padding:0 24px 18px}.primary{width:100%;background:var(--ink);color:var(--accent);padding:15px;font-size:1rem;border:0;display:flex;align-items:center;justify-content:center;gap:15px}.primary:hover:not(:disabled){background:#29434e}.primary span{font-size:.75rem;opacity:.7}.primary:disabled{opacity:1;color:#8f9a9f;background:#e1e7e9}progress{width:100%;height:8px;accent-color:#5e8933;margin:14px 0 0}.saved-section{margin-top:34px}.count{font-size:.75rem;color:#617983;background:#dde6e9;padding:4px 8px;border-radius:4px;margin-left:6px}.saved-section .section-head{margin-bottom:12px}.saved-section .small{margin:5px 0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.empty-gallery{grid-column:1/-1;text-align:center;border:1px dashed #c1cdd2;border-radius:8px;color:var(--muted);padding:28px;font-size:.875rem;margin:0}.saved-card{border:1px solid var(--line);border-radius:8px;background:white;padding:10px;min-width:0}.saved-card .select-mark{width:100%;border:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;background:#f5f8f9}.saved-card img{width:72px;height:72px;object-fit:contain}.saved-card strong{font-size:.8rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-card .delete{display:block;margin:4px auto 0;font-size:.75rem;min-height:36px}.file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;background:transparent}.diagnostics{margin-top:28px;border-top:1px solid #c8d4d9;border-bottom:1px solid #c8d4d9}.diagnostics summary{padding:18px 0;cursor:pointer;font-size:.875rem;font-weight:650}.diagnostics summary span{font-size:.75rem;font-weight:400;color:var(--muted);margin-left:12px}.diagnostic-content{font-size:.875rem;color:var(--muted);line-height:1.8;padding-bottom:18px}.diagnostic-content ol{padding-left:24px}.diagnostic-content pre{background:#102128;color:#bfd6df;padding:16px;border-radius:8px;font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}footer{display:flex;justify-content:space-between;gap:12px;color:#647b85;font-size:.75rem;line-height:1.8;padding-top:24px;flex-wrap:wrap}@media(max-width:700px){.top{padding:16px 18px}.badge{font-size:.65rem}.brand{font-size:1.05rem}main{padding:24px 16px 18px}.intro{align-items:flex-start}.intro .local-chip{display:none}.intro p:not(.eyebrow){font-size:.875rem}.workspace{grid-template-columns:1fr;gap:16px}.editor{padding:20px}.drop{min-height:140px}.preview-stage{min-height:212px;margin:0 20px}.preview>.section-head{padding:20px 20px 0}.connection{padding:20px 20px 10px}.send-area{padding:0 20px 18px}.image-controls{margin:18px 0}.saved-section{margin-top:28px}.section-head{gap:10px}.gallery{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}}@media(prefers-reduced-motion:no-preference){button{transition:background .12s ease}}
