:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#111;background:#f7f7f7}html,body{height:100%;overflow:hidden}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh;height:100%}.app{display:flex;flex-direction:column;min-height:100vh;height:100vh;overflow:hidden}.header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.header label{font-size:.9rem;display:flex;align-items:center;gap:.35rem}.header input[type=range]{width:140px}.number-input,.numeric-input{width:70px;padding:.25rem .35rem;border:1px solid #d0d0d0;border-radius:4px;font-size:.9rem}.checkbox{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.color-controls{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.35rem .5rem;background:#f4f7ff;border:1px solid #dfe6ff;border-radius:6px}.color-controls label{display:flex;align-items:center;gap:.35rem}.color-controls input[type=color]{width:36px;height:28px;padding:0;border:none;background:transparent;cursor:pointer}.checkbox-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-left:auto}.panel-header{padding:.75rem 1rem;border-bottom:1px solid #e0e0e0;font-weight:600;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.main{display:flex;flex:1;min-height:0;gap:1rem;padding:1rem;overflow:hidden}.panel{flex:1;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;min-height:400px;height:100%;box-shadow:0 1px 2px #0000000a}.panel-header{padding:.75rem 1rem;border-bottom:1px solid #e0e0e0;font-weight:600;display:flex;align-items:center;gap:.5rem}.panel-body{flex:1;padding:.5rem;display:flex;flex-direction:column;overflow:hidden}.panel svg{width:100%;height:100%;background:#fff;border:1px solid #dcdcdc;border-radius:4px}.tool-buttons{display:flex;gap:.5rem}.tool-button{padding:.35rem .75rem;border:1px solid #d0d0d0;background:#f4f4f4;border-radius:4px;cursor:pointer;font-size:.85rem}.tool-button.active{background:#2d68ff;color:#fff;border-color:#2d68ff}.selected-shape{filter:drop-shadow(0 0 .003px #2d68ff)}.selection-box{stroke:#2d68ff;pointer-events:stroke}.secondary-button{padding:.3rem .6rem;border-radius:4px;border:1px solid #d0d0d0;background:#fff;color:#333;cursor:pointer}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.export-button{margin-left:auto;padding:.45rem .9rem;border-radius:4px;border:1px solid #2d68ff;background:#2d68ff;color:#fff;cursor:pointer}.export-button:hover{background:#1f52d6}.uv-footer{display:flex;align-items:center;gap:.35rem;padding:.4rem 0;border-top:1px solid #e0e0e0;margin-top:.5rem;flex-shrink:0;min-height:52px;max-height:52px;overflow-y:auto;flex-wrap:wrap;font-size:.85rem}.uv-footer-label{font-size:.85rem;color:#444}.uv-footer-control{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.uv-footer-control input[type=color]{width:32px;height:24px;padding:0}.uv-footer-control .numeric-input{width:70px;padding:.2rem .3rem;font-size:.85rem}.uv-align-group{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.uv-align-buttons{display:flex;gap:.2rem}.uv-align-buttons button{padding:.2rem .35rem;border:1px solid #d0d0d0;background:#fff;border-radius:4px;cursor:pointer;min-width:24px}
