.control-dialog{position:absolute;width:31em;background-color:#f0f0f0d9;border:1px solid #aaa;border-radius:0;font-size:13px;padding:10px 12px}.control-dialog .drag-handle{background-color:#fff;height:20px;margin:0 0 10px;cursor:move;border:1px solid #aaa}@media (pointer: coarse){.control-dialog .drag-handle{height:32px;background-image:linear-gradient(90deg,#ddd 0%,#ddd 20%,transparent 20%,transparent 80%,#ddd 80%),linear-gradient(90deg,#ddd 0%,#ddd 20%,transparent 20%,transparent 80%,#ddd 80%);background-size:12px 2px;background-position:center 40%,center 60%;background-repeat:repeat-x}}.control-dialog .controls .control-line{margin-bottom:8px;display:flex;align-items:center}.control-dialog .controls .control-line label{font-size:13px;white-space:nowrap}.control-dialog .controls .control-line label[for]{margin-right:8px;min-width:80px}.control-dialog .controls .control-line input[type=range]{width:140px;margin:0 8px;flex:1;touch-action:auto;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}.control-dialog .function-label{font-weight:700;margin-right:8px}.control-dialog .function-formula{font-family:Times New Roman,serif;font-size:14px;font-style:italic}.control-dialog .instructions{margin-bottom:8px;margin-left:16px;line-height:1.3;color:#666;font-size:12px}.control-dialog .instructions.final-instructions{margin-top:12px}.control-dialog .checkbox-container{display:flex;align-items:center;cursor:pointer;font-size:13px}.control-dialog .checkbox-container input[type=checkbox]{margin-right:8px;cursor:pointer;touch-action:auto}.number-handle{padding:0;margin:0;-webkit-user-select:none;user-select:none;position:relative;pointer-events:auto}.number-handle .number-text{color:#00f;padding:.1em;margin:0;line-height:100%;background-color:#ffffff59;white-space:nowrap;font-size:12px;font-family:Georgia,Times New Roman,serif;font-weight:400}.number-handle .point-circle{background:#0000ff80;padding:0;margin:0;width:4px;height:4px;border-radius:50%;position:absolute;left:-4px;top:21px}@media (pointer: coarse){.number-handle{position:relative}.number-handle:before{content:"";position:absolute;left:-20px;top:5px;width:36px;height:36px;border-radius:50%;z-index:-1}}.domain-circle-view{position:relative;width:100%;height:100%;pointer-events:none}.domain-circle-view .domain-circle-svg{pointer-events:none}.domain-handle{width:16px;height:16px;background-color:#000;border:2px solid white;border-radius:50%;-webkit-user-select:none;user-select:none;position:absolute!important;pointer-events:auto;box-sizing:border-box}.domain-handle:hover{background-color:#333}.domain-handle.center-handle,.domain-handle.edge-handle{background-color:#000}@media (pointer: coarse){.domain-handle{position:relative}.domain-handle:before{content:"";position:absolute;left:-12px;top:-12px;right:-12px;bottom:-12px;border-radius:50%;z-index:-1}}.coordinate-grid{pointer-events:none}.coordinate-grid .axes line{stroke:#909090;stroke-width:.6;fill:none}.coordinate-grid .unit-coordinate-grid{stroke:#909090;stroke-width:.5;fill:none}.coordinate-grid .fine-coordinate-grid{stroke:#909090;stroke-width:.2;fill:none}.coordinate-grid .coordinate-label{font-family:Arial,sans-serif;font-size:.6em;fill:#d0d0ff;pointer-events:none}.domain-coloring-canvas{position:absolute;top:0;left:0;pointer-events:none}.function-graph{pointer-events:none}.function-graph .real-path{stroke:#00f;stroke-width:2;fill:none;opacity:1}.function-graph .imaginary-path{stroke:#000;stroke-width:2;fill:none;opacity:1}.function-graph .real-path-3d-over{stroke:#00f;stroke-width:5;fill:none;opacity:1}.function-graph .real-path-under{stroke:#555;stroke-width:5;fill:none;opacity:.7}.function-graph .real-path-shadow{stroke:#000;stroke-width:5;fill:none;opacity:.2}.function-graph .real-path-shadow2{stroke:#000;stroke-width:5;fill:none;opacity:.15}.about-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:2000}.about-dialog{position:fixed;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:2001;max-width:600px;width:90vw;max-height:80vh;overflow:hidden}.about-dialog .about-dialog-header{background:#f5f5f5;border-bottom:1px solid #ccc;padding:12px 16px;cursor:move;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.about-dialog .about-dialog-header h2{margin:0;font-size:16px;font-weight:600;color:#333}.about-dialog .about-dialog-header .about-dialog-close{background:none;border:none;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;color:#666;touch-action:auto}.about-dialog .about-dialog-header .about-dialog-close:hover{background:#e0e0e0;color:#333}.about-dialog .about-dialog-content{padding:16px;overflow-y:auto;max-height:60vh;line-height:1.5}.about-dialog .about-dialog-content p{margin:0 0 12px;color:#333;font-size:14px}.about-dialog .about-dialog-content p:last-child{margin-bottom:0}.about-dialog .about-dialog-content a{color:#06c;text-decoration:none;touch-action:auto}.about-dialog .about-dialog-content a:hover{text-decoration:underline}.app-info-display{position:fixed;top:10px;right:10px;font-size:12px;color:#666;font-family:monospace;background-color:#fffc;padding:2px 6px;border-radius:3px;z-index:1000;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px;pointer-events:auto}.app-info-display .version-text{pointer-events:none}.app-info-display .info-button{background:none;border:none;cursor:pointer;padding:0;font-size:10px;opacity:.7;transition:opacity .2s;display:flex;align-items:center;justify-content:center;width:16px;height:16px}.app-info-display .info-button:hover{opacity:1}body{margin:0;padding:0;overflow:hidden;position:fixed;width:100%;height:100%;overscroll-behavior:none;-webkit-overflow-scrolling:touch}#root{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.app{font-family:Arial,sans-serif;color:#333;overscroll-behavior:none;min-height:100vh}header{padding:20px;background-color:#f5f5f5;border-bottom:1px solid #ddd}header h1{margin:0 0 10px;font-size:24px;color:#333}.function-nav{font-size:14px;display:flex;align-items:center;gap:10px}.function-nav .function-label{font-weight:400;margin-right:5px}.function-nav .function-link{background:#e8e8e8;border:1px solid #ccc;color:#06c;cursor:pointer;padding:4px 8px;font-size:14px;font-weight:700;text-decoration:none;border-radius:3px;transition:background-color .2s}.function-nav .function-link:hover{background-color:#fff}.function-nav .function-link.active{color:#000;background-color:#fff;cursor:default}.function-nav .function-link.active:hover{background-color:#fff}.main-content{padding:20px}.main-content .visualization-area{position:relative;min-height:600px;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.main-content .visualization-area .complex-plane{width:560px;height:560px;border:1px solid #ccc;background-color:#f0f0f0;position:relative;touch-action:none}
