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