@charset "UTF-8";:root{font-family:Inter,Pretendard,Malgun Gothic,Apple SD Gothic Neo,sans-serif;color:#172330;background:#f6f8f9;font-synthesis:none;--ink:#172330;--muted:#687986;--line:#e0e6e9;--accent:#177c73;--surface:#fff;--soft:#ecf5f2;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button,a,input,select,summary{outline-offset:4px}*:focus-visible{outline:3px solid #177c73}a{color:inherit}h1,h2,h3,p{margin:0}button{background:transparent;border:0}svg{vertical-align:middle}button svg{flex-shrink:0}input,select{min-width:0;width:100%;border:1px solid #d5dfe3;border-radius:6px;background:#fff;color:var(--ink);padding:9px 10px;font-size:13px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0;flex-shrink:0}fieldset{padding:0;border:0;margin:14px 0}dialog{color:var(--ink)}.skip-link{position:absolute;left:12px;top:-70px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:8px}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px}.brand{display:flex;align-items:baseline;text-decoration:none;font-weight:450;font-size:25px;letter-spacing:-1.1px;white-space:nowrap}.brand strong{font-weight:760;margin-left:5px}.brand>span{font-size:9px;letter-spacing:1.8px;font-weight:700;border-left:1px solid var(--line);padding-left:18px;margin-left:22px;color:#6c7c86}.topbar nav{display:flex;gap:24px}.text-button{padding:4px 0;font-size:12px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.6}.text-button:hover{color:var(--accent)}.text-button svg{width:16px;height:16px}.accent{color:var(--accent)}.muted,.subtle{color:var(--muted)}.app-shell{display:grid;grid-template-columns:294px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:28px 23px;display:flex;flex-direction:column}.control-section+.control-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.control-section h2{font-size:13px;font-weight:700;margin-bottom:17px;display:flex;align-items:center;gap:10px}.step{font-size:10px;font-weight:650;color:#75868f;background:#f0f3f5;line-height:24px;width:26px;text-align:center;border-radius:5px;letter-spacing:.5px}.dropzone{display:flex;align-items:center;flex-direction:column;width:100%;border:1px dashed #b9cbd0;background:#fafcfc;border-radius:8px;padding:22px 8px;transition:background .15s,border-color .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--soft)}.dropzone>[data-icon]{display:flex;background:#eef4f3;border-radius:8px;padding:10px;color:var(--accent);margin-bottom:13px}.dropzone strong{font-size:12px;font-weight:600}.dropzone>span:not([data-icon]){font-size:11px;color:var(--muted);margin:3px 0 11px}.dropzone small{font-size:10px;letter-spacing:.4px;color:var(--muted)}.sample-actions{display:flex;justify-content:space-between;margin-top:12px}.sample-actions .text-button{font-size:11px}.file-name{margin-top:12px;padding:8px 10px;background:#f5f7f8;border-radius:5px;font-size:11px;color:#586976;overflow-wrap:anywhere}.field{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:#52636f;margin:12px 0 7px}.hint{display:block;font-size:10px;color:var(--muted);line-height:1.8;font-weight:400}.input-action{display:flex;border:1px solid #d5dfe3;border-radius:6px;overflow:hidden}.input-action input{border:0;border-radius:0;flex:1;font-family:Consolas,monospace;font-size:13px}.input-action button{width:37px;background:#f5f7f8;border-left:1px solid var(--line);font-size:18px}.check{font-size:11px;display:flex;align-items:center;gap:8px;margin-top:12px;line-height:1.5}.detected-ranges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.range-chip{background:#fff7da;border:1px solid #efe2ac;color:#7d692a;border-radius:4px;font:10px Consolas,monospace;padding:5px 7px}.chart-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px}.chart-types button{border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:center;padding:10px 2px 7px;gap:7px;font-size:10px}.chart-types button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}.series-field legend{font-size:11px;font-weight:600;color:#52636f;width:100%;display:flex;justify-content:space-between}.series-field legend span{font-weight:400;font-size:10px;color:#83929d}.series-field .check{margin-top:9px}.series-field .check span{overflow-wrap:anywhere}.series-field .check small{color:#83929d;margin-left:auto;font-size:10px;flex-shrink:0}.design-options{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}.design-options summary{font-size:11px;font-weight:600;cursor:pointer;color:#52636f}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.design-options .hint{margin-top:12px}.preset-actions{margin-top:14px;display:flex;justify-content:space-between}.preset-actions button{font-size:10px;color:var(--muted)}.privacy-note{margin-top:auto;padding-top:34px;font-size:10px;color:#73858d;line-height:1.9;display:flex;align-items:flex-start;gap:9px}.privacy-note svg{width:16px;height:16px;color:var(--accent)}.workspace{padding:36px clamp(20px,3.8vw,65px) 18px;max-width:1580px;width:100%;margin:0 auto;min-width:0}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;color:#75868d;letter-spacing:1.5px;font-weight:650;display:flex;gap:12px}.eyebrow span:first-child{color:#b0bac0}.workspace h1{font-size:27px;letter-spacing:-1.1px;font-weight:720;margin-top:12px}.workspace-head p{font-size:12px;color:#7a8992;margin-top:5px}.local-badge{border:1px solid #dce8e3;background:#eef5f2;white-space:nowrap;padding:5px 10px;font-size:10px;color:#36776b;border-radius:30px;display:flex;align-items:center;gap:7px}.local-badge i{width:5px;height:5px;border-radius:50%;background:#358a6b}.preview-panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 7px #17233003;overflow:hidden}.preview-header{padding:25px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-kicker{font-size:8px;letter-spacing:1.6px;color:#87949c;font-weight:650;display:flex;align-items:center;gap:13px}.badge{font-size:9px;letter-spacing:0;background:#f2f4f6;border:1px solid #e5eaed;color:#76838c;padding:2px 6px;border-radius:3px;font-weight:450}.preview-header h2{font-size:19px;letter-spacing:-.7px;font-weight:650;margin-top:6px;overflow-wrap:anywhere}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;font-size:24px;color:#6a7b88;flex-shrink:0}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:var(--soft);color:var(--accent)}.chart-meta{display:flex;align-items:center;gap:19px;font-size:10px;color:#829099;padding:13px 28px 8px}.chart-meta>span+span{position:relative}.chart-meta>span+span:before{content:"";height:9px;width:1px;position:absolute;left:-10px;top:4px;background:#dde4e7}.validation-badge{color:#427e70}.validation-badge.bad{color:#b3473e}.chart-canvas{padding:5px 24px 0;min-height:250px;display:flex;align-items:center;justify-content:center}.chart-canvas svg{width:100%;height:auto;display:block;max-height:740px}.chart-empty{padding:80px 24px;text-align:center;color:#8c5d4b;font-size:13px;line-height:1.9}.validation:empty{display:none}.validation{margin:0 26px 20px;padding:11px 15px;background:#fffaee;border:1px solid #f0e4c5;border-radius:6px;font-size:11px;color:#876b32;max-height:220px;overflow:auto}.validation.error{background:#fff4f1;border-color:#edcfca;color:#a24c3e}.validation ul{margin:0;padding-left:15px}.validation li+li{margin-top:4px}.export-bar{border-top:1px solid var(--line);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fdfefe}.export-bar>div:first-child{display:flex;align-items:center;gap:8px;font-size:10px;color:#667985}.export-bar>div:first-child svg{width:15px;height:15px}.export-bar .subtle{font-size:9px;color:#92a0a8}.export-actions{display:flex;gap:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:550;font-size:11px;padding:9px 13px;border:1px solid #d7e0e3;border-radius:6px;white-space:nowrap;line-height:1.6}.button svg{width:15px;height:15px}.button:hover:not(:disabled){background:#eef4f3}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.primary:hover:not(:disabled){background:#11665f}.button.quiet{background:#fff}.below-preview{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 2px 26px}.below-preview p{font-size:10px;color:#85939b}.below-preview .text-button{font-size:11px;white-space:nowrap}.sample-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#c4ab6b;margin-right:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.section-heading h2{font-size:13px;font-weight:650;display:flex;gap:10px;align-items:center}.section-heading h2 span{font-size:10px;color:#84919a;font-weight:400;font-family:Consolas,monospace}.section-heading>.subtle{font-size:10px}.table-scroll{width:100%;max-height:340px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}th,td{padding:11px 20px;border-bottom:1px solid #ecf0f2;text-align:right}thead{position:sticky;top:0;background:#f0f4f5;z-index:1}th{font-size:10px;color:#677c89;font-weight:550}th:first-child,td:first-child{text-align:left}td:first-child{font-weight:550;color:#475c69}td{color:#657883}td small{color:#7f919c;font-size:8px;margin-left:10px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfc}.collection-panel{border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.collection-panel .section-heading{margin-bottom:14px}.collection-panel .hint{margin-top:12px}.collection-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.empty-collection{grid-column:1/-1;border:1px dashed #d3dfe3;color:#81929d;border-radius:7px;padding:24px;font-size:11px;text-align:center}.collection-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;min-width:0;position:relative}.collection-item svg{max-width:100%;height:100px;display:block;margin:auto}.collection-item strong{display:block;font-size:11px;font-weight:600;margin-top:7px;overflow-wrap:anywhere}.collection-item p{font-size:9px;color:#7b8b94;margin-top:3px;overflow-wrap:anywhere}.collection-item button{position:absolute;right:7px;top:6px;background:#fff;width:25px;height:25px;border-radius:4px;border:1px solid var(--line);font-size:18px;color:#758791}.workspace-footer{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;display:flex;justify-content:space-between;font-size:9px;color:#80909a}.workspace-footer .subtle{padding:0 8px;color:#b3bfc6}.workspace-footer button{font-size:9px;color:#80909a}.status{display:none;margin-bottom:18px;padding:12px 16px;border-radius:7px;font-size:12px;background:#e9f4ef;border:1px solid #cfe3d9;color:#376c5c}.status:not(:empty){display:block}.status.error{background:#fff2ef;border-color:#ecd0c8;color:#a24c3e}.info-dialog{padding:28px 32px 32px;width:min(640px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;max-height:88vh;box-shadow:0 24px 90px #17233033}.info-dialog::backdrop,.expand-dialog::backdrop{background:#16263088;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.info-dialog h2{font-size:25px;letter-spacing:-1px;line-height:1.5;margin-bottom:12px}.info-dialog p{font-size:13px;color:#667986;line-height:1.9;margin:10px 0 18px}.info-dialog h3{font-size:14px;margin-top:22px}.info-dialog .hint{font-size:11px}.info-dialog details{background:#f5f8f8;border-radius:7px;padding:14px 18px;font-size:12px;margin:18px 0}.info-dialog details p{font-size:12px;margin-bottom:0}.info-dialog summary{cursor:pointer;font-weight:600}.guide-steps{padding-left:24px;margin:28px 0}.guide-steps li{padding-left:8px;margin-top:20px}.guide-steps strong{font-size:14px}.guide-steps p{font-size:12px;margin:7px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.about-grid strong{font-size:12px;color:var(--accent)}.about-grid p{font-size:12px;margin:7px 0}.expand-dialog{width:96vw;max-width:none;max-height:95vh;border:0;border-radius:10px;padding:20px}.expand-dialog h2{font-size:16px}.expand-dialog #expanded-chart{overflow:auto;max-height:78vh}.expand-dialog svg{display:block;max-width:none}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#172e31;color:#fff;font-size:12px;max-width:90vw;padding:12px 20px;border-radius:8px;box-shadow:0 6px 30px #17233033;z-index:100}.toast[hidden]{display:none}@media(min-width:1600px){.app-shell{grid-template-columns:320px minmax(0,1fr)}.sidebar{padding:32px}.workspace{padding-top:44px}.workspace h1{font-size:32px}}@media(max-width:1100px){.topbar{padding:0 22px}.app-shell{grid-template-columns:260px minmax(0,1fr)}.sidebar{padding:24px 18px}.workspace{padding:28px 22px 18px}.workspace h1{font-size:25px}.local-badge{display:none}.export-bar{flex-wrap:wrap;padding:12px 18px}.export-actions{margin-left:auto}.below-preview{flex-wrap:wrap;gap:5px}.preview-header{padding:22px 20px 0}.chart-meta{padding-left:20px}.chart-canvas{padding:8px 12px 0}.brand>span{font-size:8px;margin-left:15px;padding-left:15px}.workspace-head{margin-bottom:23px}.section-heading>.subtle{display:none}}@media(max-width:760px){.topbar{height:auto;min-height:66px;padding:15px 20px;flex-wrap:wrap;gap:8px}.brand{font-size:23px}.brand>span{display:none}.topbar nav{gap:16px}.topbar .text-button{font-size:10px}.topbar .text-button svg{display:none}.app-shell{display:flex;flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.control-section+.control-section{margin:0;padding:0;border:0}.control-section:last-of-type{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:5px 22px;align-items:start}.control-section:last-of-type h2{grid-column:1/-1;margin-bottom:10px}.chart-types{grid-column:1;margin:8px 0}.control-section:last-of-type>.field{grid-column:2;grid-row:2}.series-field{grid-column:1;grid-row:3;margin-top:10px}.design-options{grid-column:2;grid-row:3;margin:10px 0;border:0;padding:0}.preset-actions{grid-column:1/-1;margin:0;justify-content:flex-start;gap:22px}.privacy-note{grid-column:1/-1;margin:0;padding:0;font-size:10px}.privacy-note br{display:none}.workspace{padding:28px 18px 20px}.workspace h1{font-size:26px}.workspace-head p{font-size:11px}.dropzone{padding:20px 6px}.dropzone strong{font-size:11px}.dropzone>span:not([data-icon]){font-size:10px}.dropzone small{font-size:9px}.dropzone>[data-icon]{padding:8px}.sample-actions{gap:6px;flex-wrap:wrap}.chart-canvas{padding:8px 4px 0;min-height:180px}.chart-meta{font-size:9px}.preview-header h2{font-size:17px}.export-bar>div:first-child{font-size:9px}.export-bar .subtle{font-size:8px}.button{font-size:10px;padding:8px 10px}.export-bar{gap:10px}.export-bar .export-actions{width:100%;justify-content:flex-end}.below-preview p{font-size:9px}.below-preview{padding:12px 0 23px}.section-heading h2{font-size:12px}th,td{padding:10px 13px;font-size:10px}.info-dialog{padding:22px}.info-dialog h2{font-size:23px}.about-grid{grid-template-columns:1fr}.info-dialog .about-grid p{margin-bottom:0}.validation{margin:0 13px 15px;font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
