#waveCanvas,.floating-words{top:0;left:0;height:100%;pointer-events:none;z-index:0;position:fixed;width:100%}.nav-btn:hover,body{color:var(--text-primary)}.hero-badge,.nav-btn{font-weight:500;color:var(--text-secondary)}.col-chip,.configurator-src,.pv-name{text-overflow:ellipsis;overflow:hidden}.floating-words span,.hero-badge,.hint-title,.other-tools-label,.panel-title{text-transform:uppercase}.drop-hint,.hero,.noscript-message,.site-footer{text-align:center}.footer-link,.nav-btn,.other-tool-link{text-decoration:none}:root{--bg-page:#f4f3ef;--bg-surface:#ffffff;--bg-surface-2:#faf9f7;--bg-surface-3:#f0ede8;--text-primary:#111110;--text-secondary:#6b6b66;--text-muted:#9a9993;--accent:#111110;--accent-fg:#ffffff;--border:rgba(0,0,0,0.08);--border-strong:rgba(0,0,0,0.16);--float-word-color:rgba(0,0,0,0.04);--chip-bg:#ffffff;--chip-border:rgba(0,0,0,0.10);--chip-text:#444442;--input-bg:#faf9f7;--input-focus-bg:#ffffff;--toggle-bg:rgba(255,255,255,0.72);--toggle-hover:rgba(255,255,255,0.92);--btn-shadow:rgba(0,0,0,0.18);--preview-shadow:rgba(0,0,0,0.08);--ax-x-bg:rgba(37,99,235,0.10);--ax-x-fg:#2563eb;--ax-y-bg:rgba(22,163,74,0.10);--ax-y-fg:#16a34a;--ax-z-bg:rgba(124,58,237,0.10);--ax-z-fg:#7c3aed}[data-theme=dark]{--bg-page:#0d0d0c;--bg-surface:#161615;--bg-surface-2:#1c1c1a;--bg-surface-3:#222220;--text-primary:#ededea;--text-secondary:#8a8a84;--text-muted:#5a5a56;--accent:#ededea;--accent-fg:#0d0d0c;--border:rgba(255,255,255,0.07);--border-strong:rgba(255,255,255,0.14);--float-word-color:rgba(255,255,255,0.028);--chip-bg:#1c1c1a;--chip-border:rgba(255,255,255,0.09);--chip-text:#b0b0a8;--input-bg:#1c1c1a;--input-focus-bg:#222220;--toggle-bg:rgba(255,255,255,0.07);--toggle-hover:rgba(255,255,255,0.12);--btn-shadow:rgba(0,0,0,0.5);--preview-shadow:rgba(0,0,0,0.3);--ax-x-bg:rgba(96,165,250,0.15);--ax-x-fg:#60a5fa;--ax-y-bg:rgba(52,211,153,0.15);--ax-y-fg:#34d399;--ax-z-bg:rgba(167,139,250,0.15);--ax-z-fg:#a78bfa}.form-panel,.nav-btn{border:1px solid var(--border)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:-apple-system,BlinkMacSystemFont,Inter,"Segoe UI",system-ui,sans-serif;background:var(--bg-page);min-height:100vh;overflow-x:hidden;transition:background .3s,color .3s}.generate-btn,.nav-btn,.tap-upload-btn{font-family:inherit}.floating-words{overflow:hidden}.floating-words span{position:absolute;font-weight:600;letter-spacing:.12em;color:var(--float-word-color);white-space:nowrap;animation:linear infinite floatWord;user-select:none}.floating-words span:first-child{left:5%;top:10%;animation-duration:30s;animation-delay:0s;font-size:13px}.floating-words span:nth-child(2){left:70%;top:7%;animation-duration:24s;animation-delay:-4s;font-size:11px}.floating-words span:nth-child(3){left:38%;top:22%;animation-duration:34s;animation-delay:-9s;font-size:15px}.floating-words span:nth-child(4){left:12%;top:58%;animation-duration:26s;animation-delay:-2s;font-size:12px}.floating-words span:nth-child(5){left:62%;top:42%;animation-duration:32s;animation-delay:-14s;font-size:14px}.floating-words span:nth-child(6){left:84%;top:68%;animation-duration:28s;animation-delay:-7s;font-size:11px}@keyframes floatWord{0%,100%{transform:translateY(0) translateX(0);opacity:.6}25%{transform:translateY(-18px) translateX(10px);opacity:1}50%{transform:translateY(-8px) translateX(20px);opacity:.7}75%{transform:translateY(-25px) translateX(5px);opacity:1}}.top-nav{position:fixed;top:16px;right:16px;z-index:100;display:flex;align-items:center;gap:8px}.nav-btn{display:inline-flex;align-items:center;gap:7px;background:var(--toggle-bg);border-radius:50px;padding:7px 13px;cursor:pointer;font-size:12px;letter-spacing:.02em;transition:background .2s,border-color .2s,color .2s,transform .15s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);white-space:nowrap}.feature-chip,.hero-badge{background:var(--chip-bg)}.nav-btn:hover{background:var(--toggle-hover);border-color:var(--border-strong);transform:translateY(-1px)}.generate-btn:active,.nav-btn:active{transform:translateY(0)}.nav-theme{padding:7px 10px}.nav-insta:hover{color:#c13584;border-color:rgba(193,53,132,.25)}#iconSun,.is-touch .drop-hint,[data-theme=dark] #iconMoon{display:none}#iconMoon,[data-theme=dark] #iconSun{display:block}.main-wrapper{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:60px 24px 80px;display:flex;flex-direction:column;gap:36px}.hero{padding:60px 20px 12px}.hero-brand{margin-bottom:18px}.hero-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--chip-border);border-radius:100px;padding:5px 16px;font-size:12px;letter-spacing:.05em;margin-bottom:24px}.hero-title{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:16px}.hero-line{font-size:clamp(28px,5vw,54px);font-weight:700;line-height:1.12;letter-spacing:-.03em;color:var(--text-primary)}.hero-line--muted{color:var(--text-secondary);font-weight:600}.hero-tagline{font-size:clamp(13px,1.5vw,15px);color:var(--text-muted);letter-spacing:.03em;font-style:italic;margin-bottom:12px}.hero-sub{font-size:clamp(14px,1.8vw,16px);color:var(--text-secondary);max-width:440px;margin:0 auto;line-height:1.65}.features-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.feature-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--chip-border);border-radius:100px;padding:7px 16px;font-size:13px;font-weight:500;color:var(--chip-text);transition:border-color .2s,background .2s}.feature-chip svg{color:#16a34a;flex-shrink:0}.feature-chip:hover{border-color:var(--border-strong);background:var(--bg-surface-3)}.builder-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:stretch}.panel-title{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px}.form-panel{background:var(--bg-surface);border-radius:16px;padding:24px;position:sticky;top:24px;display:flex;flex-direction:column}#hintBlock{flex:1}.input-group{display:flex;flex-direction:column;gap:5px}.input-group label{font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.label-hint{font-weight:400;color:var(--text-muted);font-size:11px;margin-left:4px}input[type=text],select,textarea{width:100%;padding:9px 12px;font-size:13.5px;font-family:inherit;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);transition:border-color .15s,background .15s,box-shadow .15s;line-height:1.5}textarea{resize:vertical}textarea::placeholder{color:var(--text-muted)}input[type=text]:focus,select:focus,textarea:focus{outline:0;border-color:var(--border-strong);background:var(--input-focus-bg);box-shadow:0 0 0 3px rgba(128,128,128,.08)}#dataInput.drag-over{border-color:var(--border-strong);background:var(--input-focus-bg);box-shadow:0 0 0 3px rgba(128,128,128,.1)}.drop-hint{font-size:11px;color:var(--text-muted);letter-spacing:.02em;margin-top:5px;opacity:.8}.configurator-src,.tap-upload-btn{font-weight:500;color:var(--text-secondary)}.ext-icon,.footer-sep{opacity:.5}.tap-upload-btn{display:none;width:100%;align-items:center;justify-content:center;gap:8px;padding:10px 16px;margin-top:8px;background:var(--bg-surface-2);border:1px dashed var(--border-strong);border-radius:10px;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.tap-upload-btn:hover{background:var(--bg-surface-3);color:var(--text-primary)}.is-touch .tap-upload-btn{display:flex}.configurator-panel{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px;animation:.15s fadeIn}@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.configurator-header{display:flex;flex-direction:column;gap:6px}.configurator-title-row{display:flex;align-items:center;gap:8px}.configurator-src{font-size:12px;max-width:180px;white-space:nowrap}.col-chip,.col-count-badge{font-weight:500;color:var(--text-muted);font-size:11px;white-space:nowrap}.col-count-badge{background:var(--bg-surface);border:1px solid var(--border);border-radius:100px;padding:2px 8px}.col-chips-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.col-chip{padding:3px 8px;border-radius:100px;max-width:120px;border:1px solid var(--chip-border);background:var(--chip-bg);transition:.15s;cursor:default}.col-chip--num{border-color:rgba(37,99,235,.25);background:rgba(37,99,235,.06);color:#2563eb}.col-chip--txt{border-color:var(--border);background:var(--bg-surface-3);color:var(--text-secondary)}[data-theme=dark] .col-chip--num{border-color:rgba(96,165,250,.3);background:rgba(96,165,250,.1);color:#60a5fa}.configurator-axes{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.axis-group{display:flex;align-items:center;gap:6px;flex:1;min-width:90px}.axis-group select{flex:1;min-width:0;padding:7px 10px;font-size:13px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s,box-shadow .15s;cursor:pointer}.axis-label,.axis-preview{display:flex;align-items:center}.axis-group select:focus{outline:0;border-color:var(--border-strong);box-shadow:0 0 0 2.5px rgba(128,128,128,.08)}.axis-group:has(#selX) select{border-color:rgba(37,99,235,.3)}.axis-group:has(#selX) select:focus{border-color:#2563eb;box-shadow:0 0 0 2.5px rgba(37,99,235,.12)}.axis-group:has(#selY) select{border-color:rgba(22,163,74,.3)}.axis-group:has(#selY) select:focus{border-color:#16a34a;box-shadow:0 0 0 2.5px rgba(22,163,74,.12)}.axis-group:has(#selZ) select{border-color:rgba(124,58,237,.3)}.axis-group:has(#selZ) select:focus{border-color:#7c3aed;box-shadow:0 0 0 2.5px rgba(124,58,237,.12)}[data-theme=dark] .axis-group:has(#selX) select{border-color:rgba(96,165,250,.3)}[data-theme=dark] .axis-group:has(#selY) select{border-color:rgba(52,211,153,.3)}[data-theme=dark] .axis-group:has(#selZ) select{border-color:rgba(167,139,250,.3)}.axis-label{font-size:11px;font-weight:700;letter-spacing:.04em;width:20px;height:20px;border-radius:5px;justify-content:center;flex-shrink:0}.axis-label--x,.pv-axis.pv-x{background:var(--ax-x-bg);color:var(--ax-x-fg)}.axis-label--y,.pv-axis.pv-y{background:var(--ax-y-bg);color:var(--ax-y-fg)}.axis-label--z,.pv-axis.pv-z{background:var(--ax-z-bg);color:var(--ax-z-fg)}.axis-sep{font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0;padding:0 1px}.axis-preview{font-size:12px;line-height:1.4;padding:8px 10px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);gap:6px;flex-wrap:wrap;min-height:32px}.pv-axis{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.03em}.pv-name{font-size:12px;font-weight:500;color:var(--text-primary);max-width:160px;white-space:nowrap}.pv-sep{font-size:11px;color:var(--text-muted);font-weight:600}.options-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 16px}.generate-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-fg);padding:12px 20px;border:none;border-radius:100px;font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 18px var(--btn-shadow);margin-bottom:20px}.chart-panel,.hint-block{border:1px solid var(--border)}.generate-btn:hover{opacity:.88;transform:translateY(-1px)}.hint-block{background:var(--bg-surface-2);border-radius:10px;padding:14px 16px}.hint-title{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.action-btn,.theme-btn{font-weight:500;cursor:pointer;transition:.15s;font-family:inherit}.hint-body{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:5px}.hint-body:last-child{margin-bottom:0}.hint-body code{background:var(--bg-surface-3);padding:1px 5px;border-radius:4px;font-size:11px;font-family:monospace}.chart-panel{background:var(--bg-surface);border-radius:16px;padding:20px;box-shadow:0 4px 24px var(--preview-shadow);display:flex;flex-direction:column;gap:12px}.chart-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;flex-shrink:0}.chart-theme-btns{display:flex;gap:4px}.theme-btn{padding:5px 12px;font-size:11.5px;border:1px solid var(--border);border-radius:100px;background:0 0;color:var(--text-muted);letter-spacing:.02em}.action-btn,.chart-wrapper{background:var(--bg-surface-2)}.theme-btn:hover{border-color:var(--border-strong);color:var(--text-secondary)}.theme-btn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.chart-wrapper{flex:1;min-height:440px;border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--border)}.chart-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.chart-empty p{font-size:13px;color:var(--text-muted)}.chart-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:12px;border:1px solid var(--border);border-radius:100px;color:var(--text-secondary)}.action-btn:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-surface-3)}.error-msg{background:#fff1f0;border:1px solid #fca5a5;border-radius:8px;padding:10px 14px;font-size:12.5px;color:#b91c1c;line-height:1.5;margin-top:10px;display:none}[data-theme=dark] .error-msg{background:#2d1515;border-color:#7f1d1d;color:#fca5a5}.noscript-message{position:fixed;inset:0;z-index:9999;background:var(--bg-page);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-secondary);padding:24px}.other-tools-bar{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;margin-bottom:0;border-top:1px solid var(--border);flex-wrap:wrap}.other-tools-label{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.other-tools-links{display:flex;gap:8px;flex-wrap:wrap}.other-tool-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--text-secondary);padding:6px 14px;border:1px solid var(--border);border-radius:100px;background:var(--chip-bg);transition:.15s;white-space:nowrap}.other-tool-link:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-surface-3);transform:translateY(-1px)}.ext-icon{flex-shrink:0}.site-footer{font-family:inherit}.footer-content{padding:28px 20px}.brand-statement{font-size:13px;letter-spacing:.1em;color:var(--text-primary);margin-bottom:6px}.footer-link:hover,.manifesto{color:var(--text-secondary)}.manifesto{font-size:12px;margin-bottom:10px}.tech-details{font-size:11.5px;color:var(--text-muted);max-width:520px;margin:0 auto;line-height:1.65}.footer-link,.footer-sep{font-size:12px;color:var(--text-muted)}.footer-links{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 0}.footer-link{transition:color .15s}.footer-bottom{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);opacity:.8}@media(max-width:960px){.builder-layout{grid-template-columns:1fr;align-items:start}.form-panel{position:static}.chart-wrapper{min-height:360px}.hero{padding-top:40px}.main-wrapper{padding:40px 16px 60px;gap:24px}}@media(max-width:480px){.top-nav{top:12px;right:12px;gap:6px}.nav-label{display:none}.nav-insta,.nav-support{padding:7px 10px}.options-row{grid-template-columns:1fr}.hero-line{font-size:24px}.chart-panel-header{flex-direction:column;align-items:flex-start}.configurator-axes{flex-direction:column;align-items:stretch}.axis-group{min-width:100%}.other-tools-bar{flex-direction:column;gap:10px}}