.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;height:100%;width:100%;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{top:-100%;width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:transform .3s;transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;bottom:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#fafafa;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:before,.noUi-handle:after{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:before,.noUi-vertical .noUi-handle:after{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-target,[disabled].noUi-handle,[disabled] .noUi-handle{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub,.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate(0,-50%);transform:translateY(-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0,50%);transform:translateY(50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translateY(-50%);top:50%;right:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{-webkit-transform:translate(50%,0);transform:translate(50%);left:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{-webkit-transform:translate(0,-18px);transform:translateY(-18px);top:auto;right:28px}:root{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f1f5f9}#root{min-height:100vh}.app-shell{min-height:100vh;padding:5rem 1rem 2rem;background:radial-gradient(circle at top,#eef2ff,#f8fafc 45%,#f1f5f9)}.word-cloud-app{display:flex;gap:1.5rem;max-width:1600px;margin:0 auto;align-items:flex-start}.controls-panel,.preview-panel{background:#fff;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 10px 40px #0f172a14;padding:1.5rem}.controls-panel{flex:0 0 360px;display:flex;flex-direction:column;gap:1.5rem}.panel-description{margin:0;color:#475569;font-size:.95rem;line-height:1.6}.form-section{display:flex;flex-direction:column;gap:.5rem}.text-input-section{gap:.75rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.5rem;align-items:stretch}.field-label{font-weight:600;color:#0f172a;font-size:.9rem}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.accordion-toggle{padding:.3rem .9rem;font-size:.8rem;background:#0f172a;box-shadow:none}.accordion-panel{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#f8fafc;color:#475569;font-size:.85rem;line-height:1.5;animation:accordionSlideDown .6s ease-out;transform-origin:top}@keyframes accordionSlideDown{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}.textarea{width:100%;border-radius:12px;border:1px solid #cbd5f5;padding:.75rem .9rem;font:inherit;resize:vertical;min-height:120px}.textarea.small{min-height:80px}.range-inputs{display:flex;align-items:center;gap:.35rem}.range-separator{color:#64748b}.input-with-slider{display:flex;align-items:center;gap:.5rem;width:100%}.input-with-slider input[type=number]{width:80px;text-align:right}.input-with-slider .nouislider-control{flex:1 1 auto;min-width:0;width:100%;margin:.1rem 0 .6rem}.input-with-slider .nouislider-control.noUi-target{border:1px solid #cbd5f5;border-radius:999px;box-shadow:none;height:6px;background:#e2e8f0}.input-with-slider .nouislider-control .noUi-connects{border-radius:999px}.input-with-slider .nouislider-control .noUi-connect{background:linear-gradient(90deg,#0ea5e9,#2563eb)}.input-with-slider .nouislider-control .noUi-handle{width:20px;height:20px;right:-10px;top:-7px;border-radius:999px;border:2px solid #fff;box-shadow:0 4px 10px #0f172a40;background:#2563eb}.input-with-slider .nouislider-control .noUi-handle:before,.input-with-slider .nouislider-control .noUi-handle:after{display:none}.input-with-slider .nouislider-control .noUi-tooltip{background:#1d4ed8;color:#fff;border:none;border-radius:12px;padding:.1rem .45rem;font-size:.8rem}.input-with-slider .nouislider-control .noUi-pips,.input-with-slider .nouislider-control .noUi-marker,.input-with-slider .nouislider-control .noUi-value{display:none}.field-hint{font-size:.85rem;color:#64748b}.field-hint.error{color:#dc2626}.input-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.input-actions .field-hint{margin:0;flex:1}.generate-button{flex-shrink:0;white-space:nowrap}.controls-panel input,.controls-panel select,.controls-panel textarea{border:1px solid #cbd5f5;border-radius:12px;padding:.55rem .75rem;font:inherit;background-color:#fff}.form-grid .field-hint{margin:-.25rem 0 .5rem}.controls-panel input:focus,.controls-panel select:focus,.controls-panel textarea:focus{outline:2px solid #6366f1;border-color:#6366f1}button{border-radius:999px;border:none;background:#4f46e5;color:#fff;font-weight:600;padding:.65rem 1.5rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;font:inherit;box-shadow:0 6px 20px #4f46e54d}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 30px #4f46e559}.preview-panel{flex:1;display:flex;flex-direction:column;gap:1rem}.preview-header{display:flex;align-items:center;justify-content:space-between}.preview-meta{margin:.1rem 0 0;color:#475569;font-size:.9rem}.preview-canvas-wrapper{flex:1;width:100%;position:relative;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5f5;overflow:hidden}.preview-canvas{position:absolute;inset:0;width:100%;height:100%}.preview-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#475569;font-size:1rem;text-align:center;padding:1rem;pointer-events:none}svg{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,system-ui,sans-serif}@media(max-width:1100px){.word-cloud-app{flex-direction:column}.controls-panel{flex:1}}.download-buttons{display:flex;gap:.5rem;align-items:center}.view-mode-select,.aspect-ratio-select,.color-scheme-select,.color-rule-select{border:1px solid #cbd5f5;border-radius:12px;padding:.55rem .75rem;font:inherit;background-color:#fff;cursor:pointer}.view-mode-select:focus,.aspect-ratio-select:focus,.color-scheme-select:focus,.color-rule-select:focus{outline:2px solid #6366f1;border-color:#6366f1}.file-upload-label{display:inline-block;padding:.5rem 1rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-size:.85rem;color:#475569;transition:all .16s ease;font-weight:500}.file-upload-label:hover{background:#e2e8f0;border-color:#94a3b8;color:#1e293b}.modal-overlay{position:fixed;inset:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;padding:2rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.list-modal{max-width:900px;padding:1.5rem}.modal-content h2{margin-top:0;color:#0f172a;font-size:1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.close-button{background:transparent;color:#64748b;box-shadow:none;font-size:1.5rem;padding:.5rem;border-radius:8px}.close-button:hover{background:#f1f5f9;color:#0f172a;transform:none;box-shadow:none}.modal-thumbnail-preview{background:#f8fafc;border-radius:12px;overflow:hidden;margin-bottom:1.5rem;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}.modal-thumbnail-preview img{max-width:100%;max-height:200px;object-fit:contain}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#334155}.form-group input{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.button-secondary{background:#fff;color:#475569;border:1px solid #cbd5e1;box-shadow:0 1px 3px #0000000d}.button-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;color:#0f172a;transform:translateY(-1px)}.error-message{color:#ef4444;background:#fef2f2;border:1px solid #fee2e2;padding:.75rem;border-radius:8px;margin-top:1rem;font-size:.9rem}.loading-message,.empty-message{text-align:center;padding:3rem;color:#64748b}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}.project-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000000d;border-color:#cbd5e1}.project-thumbnail{aspect-ratio:16/9;background:#f1f5f9;border-bottom:1px solid #e2e8f0;overflow:hidden}.project-thumbnail img{width:100%;height:100%;object-fit:cover}.project-info{padding:1rem;flex:1}.project-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#0f172a;line-height:1.4}.project-date{font-size:.8rem;color:#64748b}.delete-button{position:absolute;top:.5rem;right:.5rem;background:#ffffffe6;color:#64748b;border-radius:8px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s;box-shadow:0 2px 4px #0000001a;font-size:1rem}.project-card:hover .delete-button{opacity:1}.delete-button:hover{background:#fee2e2;color:#ef4444}.delete-button.confirm{opacity:1;background:#ef4444;color:#fff;width:auto;padding:0 .5rem;font-size:.8rem;font-weight:600}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;max-width:1600px;margin-left:auto;margin-right:auto}.app-header h1{margin:0;font-size:1.5rem;font-weight:800;color:#1e293b;letter-spacing:-.025em}.header-actions{display:flex;gap:1rem}
