@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{color-scheme:light;--ink:#282941;--muted:#747587;--purple:#7770e8;--line:#e8e6f0}*{box-sizing:border-box}body{margin:0;background:#faf9f6;color:var(--ink);font:15px 'Noto Sans JP',system-ui,sans-serif}button,input,textarea{font:inherit}a{color:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:12px;padding:11px 16px;color:var(--ink)}button:hover{border-color:var(--purple);transform:translateY(-1px)}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.purple{background:var(--purple);color:white}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px;gap:15px}.brand{font-weight:900;text-decoration:none}.brand b{background:var(--purple);color:white;padding:7px 11px;border-radius:12px;margin-right:9px}nav{display:flex;gap:20px;font-size:13px;align-items:center}main{max-width:1180px;margin:auto;padding:12px 24px 70px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center;padding:38px 0 45px}.eyebrow{color:#7770c8;font-size:12px;letter-spacing:2px;font-weight:bold}h1{font-size:clamp(32px,4vw,49px);line-height:1.5;letter-spacing:-1.5px;margin:12px 0}h1 em{font-style:normal;color:var(--purple)}p{line-height:1.9}.muted,small{color:var(--muted)}.demo{background:#efeefa;border:1px solid #e1def8;border-radius:24px;overflow:hidden}.demo canvas{display:block;width:100%;aspect-ratio:16/9}.demobar{padding:10px 18px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.demobar button{padding:5px 12px}.workspace{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:start}.panel{border:1px solid var(--line);background:white;border-radius:24px;padding:26px}.panel h2{font-size:20px;margin:0 0 20px}.step{font-size:11px;color:var(--purple);letter-spacing:2px;margin-bottom:10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tabs button.active{background:#eeedfc;color:#6159d0;border-color:#d7d2fb}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}input:not([type=range]),textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fcfcfe;color:var(--ink)}textarea{min-height:125px;resize:vertical}input[type=range]{width:100%;accent-color:var(--purple)}.chart canvas{width:100%;display:block;touch-action:none}.chart{background:#faf9ff;border-radius:18px;overflow:hidden;margin:18px 0}.hint{font-size:12px;text-align:center}.row{display:grid;grid-template-columns:12px 1fr 65px 34px;gap:9px;align-items:center;margin:15px 0 4px}.dot{width:11px;height:11px;border-radius:50%}.row button{padding:5px}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.actions button{flex-grow:1}.note{padding:12px 15px;background:#f5f4fb;border-radius:10px;font-size:12px;line-height:1.8}.history{margin-top:26px}.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.card{background:white;border:1px solid var(--line);padding:18px;border-radius:18px}.card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:100px;overflow:auto}.card h3{font-size:16px;overflow-wrap:anywhere}.card button{padding:6px 10px;font-size:12px}.mini{height:8px;display:flex;border-radius:8px;overflow:hidden}.footer{margin-top:45px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.status{min-height:26px;color:#6159d0;font-size:13px;margin:12px 0}details{margin-top:20px;font-size:13px}summary{cursor:pointer}#sourcebox{margin-bottom:20px}[hidden]{display:none!important}@media(max-width:760px){header{padding:18px}nav{gap:12px}.hero,.workspace{grid-template-columns:1fr;gap:22px}.hero{padding:20px 0 30px}.hero p{font-size:14px}main{padding:10px 16px 40px}.panel{padding:19px}.cards{grid-template-columns:1fr}.brand{font-size:13px}nav .home{display:none}.fields{gap:9px}.footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.demo video{display:block;width:100%;aspect-ratio:16/9;background:#eeedfb}
/* Chart-first editing */
.workspace{display:flex;flex-direction:column;align-items:stretch;max-width:780px;margin:auto}.chart{position:relative}.chart canvas{display:block}#directLabels{position:absolute;inset:0;pointer-events:none}#directLabels input{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;text-align:center;border:1px dashed #ffffff90;background:#ffffff25;padding:4px 2px;border-radius:6px;font-weight:700;font-size:clamp(11px,2.2vw,17px);color:#282941;min-width:0}#directLabels input:hover,#directLabels input:focus{background:#fff;border-color:#7770e8}#directLabels input:focus{z-index:2}.edit-options{margin-top:0}.edit-options>summary{font-weight:700;line-height:1.8}.edit-options[open]>summary{margin-bottom:22px}#add{margin-bottom:22px}#diary{min-height:85px}.edit-options .step,.edit-options h2{display:none}@media(max-width:760px){#directLabels input{padding:2px 0;font-size:11px}.workspace>.panel{padding:14px}.chart{margin:12px -4px}.hint{line-height:1.8}}
.studio-about{margin-top:38px}.studio-links{display:flex;flex-wrap:wrap;gap:20px}.studio-about h2{margin-top:14px}#shareHelp{margin-top:12px}#shareHelp textarea{min-height:80px}#line{border-color:#06a850;color:#07813f}.fields{grid-template-columns:1.3fr 1.3fr 1fr}@media(max-width:560px){.fields{grid-template-columns:1fr 1fr}.fields>div:first-child{grid-column:1/-1}}
.image-card{padding:12px}.saved-image{display:block;aspect-ratio:1;background:#faf9ff;border-radius:12px;overflow:hidden;margin-bottom:12px}.saved-image img{width:100%;height:100%;object-fit:contain}.image-card .actions{margin-top:8px}.image-card .actions button{font-size:11px}#imagePreview{border:0;border-radius:18px;padding:12px;max-width:min(94vw,850px);max-height:95vh}#imagePreview::backdrop{background:#282941b3}#savedPreview{display:block;width:100%;max-height:80vh;object-fit:contain}
