*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reference-toolbar-button:focus{outline:2px solid #2196f3;outline-offset:2px}.reference-toolbar-button:active{transform:scale(.98)}.manipulation-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000}.manipulation-dialog-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001}.manipulation-dialog{background-color:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;width:90vw;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.manipulation-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e5e5}.manipulation-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.manipulation-dialog-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.manipulation-dialog-close:hover{background-color:#f5f5f5}.manipulation-dialog-content{flex:1;overflow-y:auto;padding:24px}.preview-image-section{margin-bottom:16px;background-color:#f5f5f5;border-radius:8px;border:1px solid #e5e5e5;overflow:hidden}.preview-image{width:100%;max-height:200px;object-fit:contain;display:block;background-color:#fafafa}.reference-points-label{padding:8px 12px;font-size:12px;color:#666;background-color:#f9f9f9;border-top:1px solid #e5e5e5}.reference-points-summary{margin-bottom:20px;padding:12px;background-color:#f9f9f9;border-radius:6px;border:1px solid #e5e5e5;font-size:14px;color:#333}.reference-points-summary strong{color:#1a1a1a}.point-count{margin-left:6px;color:#666;font-size:13px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.command-textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ddd;border-radius:6px;outline:none;font-family:inherit;resize:vertical;transition:border-color .2s;box-sizing:border-box}.command-textarea:focus{border-color:#2196f3}.command-textarea::placeholder{color:#999}.input-hint{margin-top:6px;font-size:12px;color:#999}.examples-section{margin-bottom:20px}.examples-section summary{font-size:12px;font-weight:600;color:#666;cursor:pointer;padding:8px;background-color:#f9f9f9;border-radius:4px;border:1px solid #e5e5e5;list-style:none;-webkit-user-select:none;user-select:none}.examples-section summary:hover{background-color:#f0f0f0}.examples-list{margin:8px 0 0;padding:10px 10px 10px 24px;background-color:#f9f9f9;border-radius:4px;border:1px solid #e5e5e5;font-size:13px;color:#555;line-height:1.6}.examples-list li{margin-bottom:6px;cursor:pointer;transition:color .2s}.examples-list li:hover{color:#2196f3}.examples-list li:last-child{margin-bottom:0}.manipulation-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}.btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s;outline:none}.btn-cancel{border:1px solid #ddd;background-color:#fff;color:#333}.btn-cancel:hover{background-color:#f5f5f5}.btn-execute{background-color:#2196f3;color:#fff}.btn-execute:hover:not(:disabled){background-color:#1976d2}.btn-execute:disabled{background-color:#ccc;cursor:not-allowed}.move-confirmation-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000}.move-confirmation-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001}.move-confirmation-dialog{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:90vw;max-width:600px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.move-confirmation-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e5e5}.move-confirmation-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.move-confirmation-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.move-confirmation-close:hover:not(:disabled){background-color:#f5f5f5}.move-confirmation-close:disabled{opacity:.5;cursor:not-allowed}.move-confirmation-content{flex:1;overflow-y:auto;padding:24px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e5e5;border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{margin:0;color:#666;font-size:14px}.empty-state{text-align:center;padding:40px;color:#666}.preview-section{margin-bottom:20px}.preview-label,.section-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.preview-image-container{background-color:#f5f5f5;border-radius:8px;border:1px solid #e5e5e5;padding:8px;display:flex;justify-content:center;overflow:hidden}.preview-image{max-width:100%;max-height:200px;object-fit:contain;border-radius:4px}.points-section{margin-bottom:20px}.points-list{display:flex;flex-direction:column;gap:12px}.point-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:#f9f9f9;border-radius:8px;border:1px solid #e5e5e5}.point-label-badge{width:28px;height:28px;min-width:28px;background-color:#fff;border:2px solid #2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#2196f3}.point-details{flex:1}.point-coords{display:flex;align-items:center;gap:4px;font-size:12px;color:#888;margin-bottom:4px}.point-description{font-size:14px;color:#333;line-height:1.4}.interpretation-section{background-color:#e3f2fd;border-radius:8px;padding:16px;border:1px solid #bbdefb}.command-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px}.command-label{font-size:12px;font-weight:600;color:#1976d2}.command-text{font-size:14px;color:#333;font-style:italic}.interpretation-row{display:flex;align-items:flex-start;gap:8px;position:relative}.arrow-icon{color:#1976d2;flex-shrink:0;margin-top:2px}.interpretation-text{flex:1;font-size:14px;color:#1976d2;font-weight:500;line-height:1.5}.interpretation-textarea{flex:1;font-size:14px;color:#1976d2;font-weight:500;line-height:1.5;font-family:inherit;background-color:#fff;border:1px solid #90caf9;border-radius:4px;padding:8px;resize:vertical;min-height:60px;outline:none;transition:border-color .2s,box-shadow .2s}.interpretation-textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.edit-button{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#1976d2;transition:all .2s;flex-shrink:0;margin-top:2px}.edit-button:hover{background-color:#1976d21a}.edit-button:active{background-color:#1976d233}.move-confirmation-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e5e5;background-color:#fafafa}.move-confirmation-dialog .btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s;outline:none}.move-confirmation-dialog .btn-cancel{border:1px solid #ddd;background-color:#fff;color:#333}.move-confirmation-dialog .btn-cancel:hover{background-color:#f5f5f5}.move-confirmation-dialog .btn-edit{border:1px solid #2196f3;background-color:#fff;color:#2196f3}.move-confirmation-dialog .btn-edit:hover{background-color:#e3f2fd}.move-confirmation-dialog .btn-replan{border:1px solid #2196f3;background-color:#fff;color:#2196f3}.move-confirmation-dialog .btn-replan:hover:not(:disabled){background-color:#e3f2fd}.move-confirmation-dialog .btn-replan:disabled{opacity:.5;cursor:not-allowed;border-color:#ccc;color:#999}.move-confirmation-dialog .btn-confirm{background-color:#4caf50;color:#fff}.move-confirmation-dialog .btn-confirm:hover{background-color:#43a047}.apple-intelligence-border{position:absolute;top:0;left:0;pointer-events:none;z-index:100;border-radius:8px;background:transparent;overflow:hidden}.apple-intelligence-border:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;transform-origin:center center;background:conic-gradient(from 0deg,transparent 0deg,transparent 30deg,#ff4500 70deg,#ff6b35 110deg,#ffa500 150deg,#ffb347 190deg,#ff8c00 230deg,#ff5722 270deg,#ff4500 310deg,transparent 330deg,transparent 360deg);animation:spin-glow 2s linear infinite;filter:blur(6px);opacity:0}.apple-intelligence-border:after{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;transform-origin:center center;background:conic-gradient(from 180deg,transparent 0deg,transparent 40deg,rgba(255,69,0,.6) 80deg,rgba(255,140,0,.6) 140deg,rgba(255,165,0,.6) 200deg,rgba(255,87,34,.6) 260deg,transparent 320deg,transparent 360deg);animation:spin-glow 2s linear infinite;filter:blur(14px);opacity:0}.apple-intelligence-border.thinking:before,.apple-intelligence-border.thinking:after{opacity:1;margin-top:-100%;margin-left:-100%}.apple-intelligence-border.thinking{-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;padding:8px;box-shadow:inset 0 0 30px #ff64324d,inset 0 0 60px #ff8c0026,inset 5px 0 20px #ff450033,inset -5px 0 20px #ffa50033,inset 0 5px 20px #ff572233,inset 0 -5px 20px #ff780033,inset 10px 10px 40px #ff50001a,inset -10px -10px 40px #ff96321a;animation:inner-glow-pulse 1.5s ease-in-out infinite alternate}@keyframes spin-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes inner-glow-pulse{0%{box-shadow:inset 0 0 30px #ff643240,inset 0 0 60px #ff8c001a,inset 8px 0 25px #ff450026,inset -8px 0 25px #ffa50026,inset 0 8px 25px #ff572226,inset 0 -8px 25px #ff780026}to{box-shadow:inset 0 0 40px #ff643266,inset 0 0 80px #ff8c0033,inset 3px 0 15px #ff450040,inset -3px 0 15px #ffa50040,inset 0 3px 15px #ff572240,inset 0 -3px 15px #ff780040}}.thinking-overlay-wrapper.flash-active .thinking-flash{animation:flash-wash .6s ease-out forwards}.thinking-flash{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,rgba(255,140,50,.8) 0%,rgba(255,100,30,.6) 30%,rgba(255,69,0,.3) 60%,transparent 100%);opacity:0;pointer-events:none;z-index:99}@keyframes flash-wash{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1)}}.apple-intelligence-border.accepted{box-shadow:inset 0 0 0 4px #22c55e,inset 0 0 20px #22c55e99;animation:accepted-pulse .6s ease-out forwards;padding:0;-webkit-mask:none;mask:none}.apple-intelligence-border.accepted:before,.apple-intelligence-border.accepted:after{display:none}@keyframes accepted-pulse{0%{opacity:1;filter:brightness(1)}50%{opacity:1;filter:brightness(1.3)}to{opacity:0;filter:brightness(1)}}.apple-intelligence-border.rejected{box-shadow:inset 0 0 0 4px #ef4444,inset 0 0 20px #ef444499;animation:rejected-pulse .6s ease-out forwards;padding:0;-webkit-mask:none;mask:none}.apple-intelligence-border.rejected:before,.apple-intelligence-border.rejected:after{display:none}@keyframes rejected-pulse{0%{opacity:1;filter:brightness(1)}50%{opacity:1;filter:brightness(1.3)}to{opacity:0;filter:brightness(1)}}.thinking-overlay-image{position:absolute;top:0;left:0;pointer-events:none;z-index:102;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out;animation:fade-in-image .5s ease-in-out forwards}@keyframes fade-in-image{0%{opacity:0}to{opacity:.7}}.shimmer-particles-container{position:absolute;top:0;left:0;pointer-events:none;z-index:103;overflow:hidden}.shimmer-particle{position:absolute;background:radial-gradient(circle,#fff,#ff7832e6 40%,#ff450000 70%);border-radius:50%;opacity:0;animation:shimmer-float 3s ease-in-out infinite;box-shadow:0 0 8px #ff6432,0 0 16px #ff4500cc,0 0 24px #ff572280}@keyframes shimmer-float{0%{opacity:.2;transform:translate(0) scale(.6)}15%{opacity:1;transform:translate(5px,-10px) scale(1.3)}40%{opacity:1;transform:translate(-8px,-25px) scale(1.1)}60%{opacity:.9;transform:translate(12px,-40px) scale(1.2)}80%{opacity:.6;transform:translate(-5px,-55px) scale(1)}to{opacity:.1;transform:translateY(-70px) scale(.7)}}
